GridDB C API Reference
Table of Contents
- 1 API
- 1.1 API list
- 1.2 API sample
- 1.2.1 Basic: Sample Collection Operation
- 1.2.2 Basic: Sample of time series operation-Registration and range acquisition
- 1.2.3 Basic: Time Series Operations Sample-Search/Aggregation
- 1.2.4 Application: Sample Collection Operation-Schema Definition Using Container Information
- 1.2.5 Application: Collection Operation Sample-Multiple Container Batch Operation
- 2 Appendix
- 3 Trademark
1 API
1.1 API list
Defines the public C language interface of GridDB
- Interface type
- utility
- header file
GridDB public API for C. More...
#include <stdlib.h>
#include <stdint.h>
Classes | |
struct | GSBlobTag |
Represents the BLOB structure in Row object. More... | |
struct | GSPropertyEntryTag |
A property configuration entry. More... | |
struct | GSColumnCompressionTag |
Represents the compression settings for a particular column. More... | |
struct | GSCollectionPropertiesTag |
Represents a collection configuration option. More... | |
struct | GSTimeSeriesPropertiesTag |
Represents optional configuration information used when creating or modifying a time series. More... | |
struct | GSColumnInfoTag |
Represents information about the column schema. More... | |
struct | GSTriggerInfoTag |
Represents information about the trigger. More... | |
struct | GSIndexInfoTag |
Indicates the index settings. More... | |
struct | GSContainerInfoTag |
Represents information about a particular container. More... | |
struct | GSBindingTag |
Binding information that represents the correspondence between the row object and row data. More... | |
struct | GSQueryAnalysisEntryTag |
It shows one of a series of information that constitutes the query plan and query processing analysis results. More... | |
struct | GSContainerRowEntryTag |
Row content entry for each container used when operating multiple rows of multiple containers at once. More... | |
struct | GSRowKeyPredicateEntryTag |
It is a match condition entry for each container to represent the acquisition condition for multiple containers. More... | |
union | GSValueTag |
ロウフィールドに格納できるいずれかの型の値です。More... | |
struct | GSTimeZoneTag |
タイムゾーン情報を表します。More... | |
Macros | |
#define | GS_CLIENT_VERSION_MAJOR 4 |
GridDBクライアントのメジャーバージョンを表す数値です。 | |
#define | GS_CLIENT_VERSION_MINOR 3 |
GridDBクライアントのマイナーバージョンを表す数値です。 | |
#define | GS_TRUE 1 |
真であることを示すブール型値です。 | |
#define | GS_FALSE 0 |
偽であることを示すブール型値です。 | |
#define | GS_RESULT_OK 0 |
GridDBに対する命令の実行に成功したことを示す、実行結果コードの値です。More... | |
#define | GS_SUCCEEDED(result) ((result) == GS_RESULT_OK) |
実行結果コードに基づきGridDBに対する命令の実行に成功したかどうかのブール値を求めるマクロです。More... | |
#define | GS_COLUMN_COMPRESSION_INITIALIZER { NULL, GS_FALSE, 0, 0, 0 } |
GSColumnCompressionの初期化子です。 | |
#define | GS_COLLECTION_PROPERTIES_INITIALIZER { 0 } |
GSCollectionPropertiesの初期化子です。 | |
#define | GS_TIME_SERIES_PROPERTIES_INITIALIZER |
GSTimeSeriesPropertiesの初期化子です。More... | |
#define | GS_COLUMN_INFO_INITIALIZER { NULL, GS_TYPE_STRING, GS_INDEX_FLAG_DEFAULT, 0 } |
GSColumnInfoの初期化子です。 | |
#define | GS_TRIGGER_INFO_INITIALIZER |
GSTriggerInfoの初期化子です。 | |
#define | GS_INDEX_INFO_INITIALIZER { NULL, GS_INDEX_FLAG_DEFAULT, -1, NULL, 0, NULL, 0, NULL } |
GSIndexInfoの初期化子です。More... | |
#define | GS_CONTAINER_INFO_INITIALIZER |
GSContainerInfoの初期化子です。 | |
#define | GS_QUERY_ANALYSIS_ENTRY_INITIALIZER { 0, 0, NULL, NULL, NULL, NULL } |
GSQueryAnalysisEntryの初期化子です。 | |
#define | GS_CONTAINER_ROW_ENTRY_INITIALIZER { NULL, NULL, 0 } |
GSContainerRowEntryの初期化子です。More... | |
#define | GS_ROW_KEY_PREDICATE_ENTRY_INITIALIZER { NULL, NULL } |
GSRowKeyPredicateEntryの初期化子です。More... | |
#define | GS_TIME_ZONE_INITIALIZER { { 0 } } |
GSTimeZoneの初期化子です。More... | |
#define | GS_TIMESTAMP_DEFAULT 0 |
時刻1970-01-01T00 :00:00Zに相当するGSTimestamp値です。More... | |
#define | GS_TIME_STRING_SIZE_MAX 32 |
TIMESTAMP型値の文字列表現を格納するための文字列バッファにおける、終端文字を含むバイト単位での最大サイズです。More... | |
#define | GS_TIME_ZONE_STRING_SIZE_MAX 8 |
GSTimeZone値の文字列表現を格納するための文字列バッファにおける、終端文字を含むバイト単位での最大サイズです。More... | |
#define | GS_GET_STRUCT_BINDING(type) GS_STRUCT_BINDING_GETTER_NAME(type) () |
ユーザ定義構造体とコンテナスキーマとの対応関係の定義を取得します。More... | |
#define | GS_STRUCT_BINDING(type, entries) |
ユーザ定義構造体とコンテナスキーマとの対応関係を定義します。More... | |
#define | GS_STRUCT_BINDING_NAMED_ELEMENT(name, member, memberType) |
カラム名を指定して、ユーザ定義構造体メンバと基本型カラムスキーマとの対応関係を定義します。More... | |
#define | GS_STRUCT_BINDING_NAMED_KEY(name, member, memberType) |
カラム名を指定して、ユーザ定義構造体メンバとロウキー付き基本型カラムスキーマとの対応関係を定義します。More... | |
#define | GS_STRUCT_BINDING_NAMED_ARRAY(name, member, sizeMember, elementType) |
カラム名を指定して、ユーザ定義構造体メンバと配列型カラムスキーマとの対応関係を定義します。More... | |
#define | GS_STRUCT_BINDING_ELEMENT(member, memberType) |
ユーザ定義構造体メンバと基本型カラムスキーマとの対応関係を定義します。More... | |
#define | GS_STRUCT_BINDING_KEY(member, memberType) |
ユーザ定義構造体メンバとロウキー付き基本型カラムスキーマとの対応関係を定義します。More... | |
#define | GS_STRUCT_BINDING_ARRAY(member, sizeMember, elementType) |
ユーザ定義構造体メンバと配列型カラムスキーマとの対応関係を定義します。More... | |
#define | GS_STRUCT_BINDING_COMPOSITE_KEY(member, bindingType) |
ユーザ定義構造体メンバと複合ロウキー付きカラムスキーマとの対応関係を定義します。More... | |
Typedefs | |
typedef char | GSChar |
GridDB APIで使用される標準の文字の型です。More... | |
typedef char | GSBool |
GridDB APIで使用されるブール型です。More... | |
typedef int32_t | GSEnum |
列挙型 | |
typedef int64_t | GSTimestamp |
GridDB上のTIMESTAMP型と対応する時刻型です。ミリ秒単位のUNIX時刻を保持します。 | |
typedef struct GSGridStoreFactoryTag | GSGridStoreFactory |
GSGridStoreインスタンスを管理します。More... | |
typedef struct GSGridStoreTag | GSGridStore |
1つのGridDBシステムが管理するデータ全体を操作するための機能を提供します。More... | |
typedef struct GSContainerTag | GSContainer |
同一タイプのロウ集合からなるGridDBの構成要素に対しての、管理機能を提供します。More... | |
typedef struct GSQueryTag | GSQuery |
特定のGSContainerに対応付けられたクエリを保持し、結果取得方法の設定ならびに実行・結果取得を行う機能を持ちます。 | |
typedef struct GSRowSetTag | GSRowSet |
クエリ実行より求めたロウの集合を管理します。More... | |
typedef struct GSAggregationResultTag | GSAggregationResult |
集計演算の結果を保持します。More... | |
typedef GSContainer | GSCollection |
ロウ集合を汎用的に管理するためのコンテナです。More... | |
typedef GSContainer | GSTimeSeries |
時刻をロウキーとする、時系列処理に特化したコンテナです。More... | |
typedef struct GSRowTag | GSRow |
任意のスキーマについて汎用的にフィールド操作できるロウです。More... | |
typedef GSRow | GSRowKey |
ロウキーに関するカラムのみから構成されるGSRowの一種です。More... | |
typedef struct GSRowKeyPredicateTag | GSRowKeyPredicate |
ロウキーの合致条件を表します。More... | |
typedef struct GSPartitionControllerTag | GSPartitionController |
パーティション状態の取得や操作のためのコントローラです。More... | |
typedef int32_t | GSResult |
GridDBに対する命令の実行結果コードの型です。 | |
typedef struct GSBlobTag | GSBlob |
ロウオブジェクトにおけるBLOB構造を表します。 | |
typedef struct GSPropertyEntryTag | GSPropertyEntry |
プロパティの構成エントリです。 | |
typedef GSEnum | GSFetchOption |
typedef GSEnum | GSQueryOrder |
typedef int32_t | GSIndexTypeFlags |
typedef GSEnum | GSAggregation |
typedef GSEnum | GSInterpolationMode |
typedef GSEnum | GSTimeOperator |
typedef GSEnum | GSGeometryOperator |
typedef GSEnum | GSCompressionMethod |
typedef GSEnum | GSTimeUnit |
typedef GSEnum | GSContainerType |
typedef GSEnum | GSType |
typedef int32_t | GSTypeOption |
カラムに関するオプション設定を示すフラグ値のビット和です。More... | |
typedef GSEnum | GSRowSetType |
typedef struct GSColumnCompressionTag | GSColumnCompression |
特定のカラムの圧縮設定を表します。More... | |
typedef struct GSCollectionPropertiesTag | GSCollectionProperties |
コレクションの構成オプションを表します。More... | |
typedef struct GSTimeSeriesPropertiesTag | GSTimeSeriesProperties |
時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。More... | |
typedef struct GSColumnInfoTag | GSColumnInfo |
カラムのスキーマに関する情報を表します。 | |
typedef GSEnum | GSTriggerType |
typedef int32_t | GSTriggerEventTypeFlags |
typedef struct GSTriggerInfoTag | GSTriggerInfo |
トリガに関する情報を表します。More... | |
typedef struct GSIndexInfoTag | GSIndexInfo |
索引の設定内容を表します。More... | |
typedef struct GSContainerInfoTag | GSContainerInfo |
特定のコンテナに関する情報を表します。 | |
typedef struct GSBindingTag | GSBinding |
ロウオブジェクトとロウデータとの対応関係を表すバインディング情報です。 | |
typedef struct GSQueryAnalysisEntryTag | GSQueryAnalysisEntry |
クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。More... | |
typedef struct GSContainerRowEntryTag | GSContainerRowEntry |
複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。More... | |
typedef struct GSRowKeyPredicateEntryTag | GSRowKeyPredicateEntry |
複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。More... | |
typedef union GSValueTag | GSValue |
ロウフィールドに格納できるいずれかの型の値です。More... | |
typedef struct GSTimeZoneTag | GSTimeZone |
タイムゾーン情報を表します。More... | |
Functions | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseFactory (GSGridStoreFactory **factory, GSBool allRelated) |
必要に応じ、指定のGSGridStoreFactoryに関連するリソースをクローズします。More... | |
GS_DLL_PUBLIC GSGridStoreFactory *GS_API_CALL | gsGetDefaultFactory () |
デフォルトのGSGridStoreFactoryインスタンスを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetGridStore (GSGridStoreFactory *factory, const GSPropertyEntry *properties, size_t propertyCount, GSGridStore **store) |
指定のプロパティを持つGSGridStoreを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetFactoryProperties (GSGridStoreFactory *factory, const GSPropertyEntry *properties, size_t propertyCount) |
指定のファクトリの設定を変更します。More... | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseGridStore (GSGridStore **store, GSBool allRelated) |
指定のGSGridStoreインスタンスについて、対応するGridDBクラスタとの接続状態を解除し、必要に応じて指定のインスタンスならびに関連するリソースを解放します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropCollection (GSGridStore *store, const GSChar *name) |
指定の名前を持つコレクションを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropTimeSeries (GSGridStore *store, const GSChar *name) |
指定の名前を持つ時系列を削除します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsGetCollection (GSGridStore *store, const GSChar *name, const GSBinding *binding, GSCollection **collection) |
指定の名前のコレクションを操作するためのGSCollectionインスタンスを取得します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsGetContainerInfo (GSGridStore *store, const GSChar *name, GSContainerInfo *info, GSBool *exists) |
指定の名前のコンテナに関する情報を取得します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsGetTimeSeries (GSGridStore *store, const GSChar *name, const GSBinding *binding, GSTimeSeries **timeSeries) |
指定の名前の時系列を操作するためのGSTimeSeriesインスタンスを取得します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutContainer (GSGridStore *store, const GSChar *name, const GSBinding *binding, const GSContainerInfo *info, GSBool modifiable, GSContainer **container) |
バインディング情報とGSContainerInfoを指定して、コンテナを新規作成または変更します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutCollection (GSGridStore *store, const GSChar *name, const GSBinding *binding, const GSCollectionProperties *properties, GSBool modifiable, GSCollection **collection) |
コレクションを新規作成または変更します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutTimeSeries (GSGridStore *store, const GSChar *name, const GSBinding *binding, const GSTimeSeriesProperties *properties, GSBool modifiable, GSTimeSeries **timeSeries) |
時系列を新規作成または変更します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutContainerGeneral (GSGridStore *store, const GSChar *name, const GSContainerInfo *info, GSBool modifiable, GSContainer **container) |
GSContainerInfoを指定して、コンテナを新規作成または変更します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetContainerGeneral (GSGridStore *store, const GSChar *name, GSContainer **container) |
GSRowによりロウ操作できるGSContainerインスタンスを取得します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutCollectionGeneral (GSGridStore *store, const GSChar *name, const GSContainerInfo *info, GSBool modifiable, GSCollection **collection) |
GSContainerInfoを指定して、コレクションを新規作成または変更します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetCollectionGeneral (GSGridStore *store, const GSChar *name, GSCollection **collection) |
GSRowによりロウ操作できるGSCollectionインスタンスを取得します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutTimeSeriesGeneral (GSGridStore *store, const GSChar *name, const GSContainerInfo *info, GSBool modifiable, GSTimeSeries **timeSeries) |
GSContainerInfoを指定して、時系列を新規作成または変更します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetTimeSeriesGeneral (GSGridStore *store, const GSChar *name, GSTimeSeries **timeSeries) |
GSRowによりロウ操作できるGSTimeSeriesインスタンスを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropContainer (GSGridStore *store, const GSChar *name) |
指定の名前を持つコンテナを削除します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsCreateRowByStore (GSGridStore *store, const GSContainerInfo *info, GSRow **row) |
GSContainerInfoを指定して、GSRowを新規作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowKeyByStore (GSGridStore *store, const GSContainerInfo *info, GSRowKey **key) |
GSContainerInfoを指定して、GSRowKeyを新規作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsFetchAll (GSGridStore *store, GSQuery *const *queryList, size_t queryCount) |
指定された任意個数のGSQueryについて、可能な限りリクエスト単位を大きくしてクエリ実行とフェッチを行います。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutMultipleContainerRows (GSGridStore *store, const GSContainerRowEntry *entryList, size_t entryCount) |
任意のコンテナの任意個数のロウについて、可能な限りリクエスト単位を大きくして新規作成または更新操作を行います。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetMultipleContainerRows (GSGridStore *store, const GSRowKeyPredicateEntry *const *predicateList, size_t predicateCount, const GSContainerRowEntry **entryList, size_t *entryCount) |
指定の条件に基づき、任意のコンテナの任意個数・範囲のロウについて、可能な限りリクエスト単位を大きくして取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionController (GSGridStore *store, GSPartitionController **partitionController) |
対応するGridDBクラスタについてのGSPartitionControllerを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowKeyPredicate (GSGridStore *store, GSType keyType, GSRowKeyPredicate **predicate) |
指定のGSTypeをロウキーの型とする合致条件を作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowKeyPredicateGeneral (GSGridStore *store, const GSContainerInfo *info, GSRowKeyPredicate **predicate) |
指定のGSContainerInfoのロウキーに関するカラム定義に基づく、合致条件を作成します。More... | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseContainer (GSContainer **container, GSBool allRelated) |
指定のGSContainerインスタンスについて、必要に応じこのインスタンスならびに関連するリソースを解放します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateTrigger (GSContainer *container, const GSTriggerInfo *info) |
トリガを設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateIndex (GSContainer *container, const GSChar *columnName, GSIndexTypeFlags flags) |
指定された名前のカラムに対し、指定された種別で名前のない索引を作成します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsCreateIndexDetail (GSContainer *container, const GSIndexInfo *info) |
GSIndexInfoで設定されている内容に従い、索引を作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropTrigger (GSContainer *container, const GSChar *name) |
トリガを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropIndex (GSContainer *container, const GSChar *columnName, GSIndexTypeFlags flags) |
指定された名前のカラムのうち、指定された種別の索引のみを削除します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsDropIndexDetail (GSContainer *container, const GSIndexInfo *info) |
GSIndexInfoで設定されている内容に一致する、すべての索引を削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsFlush (GSContainer *container) |
これまでの更新結果をSSDなどの不揮発性記憶媒体に書き出し、すべてのクラスタノードが突然停止したとしても内容が失われないようにします。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRow (GSContainer *container, const void *key, void *rowObj, GSBool *exists) |
ロウキーに対応するロウの内容を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRow (GSContainer *container, const void *key, const void *rowObj, GSBool *exists) |
必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutMultipleRows (GSContainer *container, const void *const *rowObjs, size_t rowCount, GSBool *exists) |
指定のロウオブジェクト集合に基づき、任意個数のロウをまとめて新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsQuery (GSContainer *container, const GSChar *queryString, GSQuery **query) |
指定のTQL文を実行するためのクエリを作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRow (GSContainer *container, const void *key, GSBool *exists) |
指定のロウキーに対応するロウを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetContainerType (GSContainer *container, GSContainerType *type) |
指定のコンテナの種別を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowByContainer (GSContainer *container, GSRow **row) |
指定のコンテナのカラムレイアウトに基づき、ロウオブジェクトを新規作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAbort (GSContainer *container) |
手動コミットモードにおいて、現在のトランザクションの操作結果を元に戻し、新たなトランザクションを開始します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCommit (GSContainer *container) |
手動コミットモードにおいて、現在のトランザクションにおける操作結果を確定させ、新たなトランザクションを開始します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowForUpdate (GSContainer *container, const void *key, void *rowObj, GSBool *exists) |
ロウキーに対応するロウについて、更新用ロックを獲得し内容を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetAutoCommit (GSContainer *container, GSBool enabled) |
コミットモードの設定を変更します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByInteger (GSContainer *container, int32_t key, void *rowObj, GSBool forUpdate, GSBool *exists) |
INTEGER型のロウキーに対応するロウの内容を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByLong (GSContainer *container, int64_t key, void *rowObj, GSBool forUpdate, GSBool *exists) |
LONG型のロウキーに対応するロウの内容を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByTimestamp (GSContainer *container, GSTimestamp key, void *rowObj, GSBool forUpdate, GSBool *exists) |
TIMESTAMP型のロウキーに対応するロウの内容を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByString (GSContainer *container, const GSChar *key, void *rowObj, GSBool forUpdate, GSBool *exists) |
STRING型のロウキーに対応するロウの内容を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByInteger (GSContainer *container, int32_t key, const void *rowObj, GSBool *exists) |
INTEGER型のロウキーを指定して、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByLong (GSContainer *container, int64_t key, const void *rowObj, GSBool *exists) |
LONG型のロウキーを指定して、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByTimestamp (GSContainer *container, GSTimestamp key, const void *rowObj, GSBool *exists) |
TIMESTAMP型のロウキーを指定して、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByString (GSContainer *container, const GSChar *key, const void *rowObj, GSBool *exists) |
STRING型のロウキーを指定して、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByInteger (GSContainer *container, int32_t key, GSBool *exists) |
INTEGER型のロウキーに対応するロウを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByLong (GSContainer *container, int64_t key, GSBool *exists) |
LONG型のロウキーに対応するロウを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByTimestamp (GSContainer *container, GSTimestamp key, GSBool *exists) |
TIMESTAMP型のロウキーに対応するロウを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByString (GSContainer *container, const GSChar *key, GSBool *exists) |
STRING型のロウキーに対応するロウを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowGeneral (GSContainer *container, GSRowKey *keyObj, GSRow *rowObj, GSBool forUpdate, GSBool *exists) |
指定のGSRowKeyに対応するロウの内容をGSRowとして取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowGeneral (GSContainer *container, GSRowKey *keyObj, GSRow *rowObj, GSBool *exists) |
必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowGeneral (GSContainer *container, GSRowKey *keyObj, GSBool *exists) |
指定のロウキーに対応するロウを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByGeometry (GSCollection *collection, const GSChar *column, const GSChar *geometry, GSGeometryOperator geometryOp, GSQuery **query) |
指定した空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByGeometryWithDisjointCondition (GSCollection *collection, const GSChar *column, const GSChar *geometryIntersection, const GSChar *geometryDisjoint, GSQuery **query) |
除外範囲付きの空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAggregateTimeSeries (GSTimeSeries *timeSeries, GSTimestamp start, GSTimestamp end, const GSChar *column, GSAggregation aggregation, GSAggregationResult **aggregationResult) |
開始・終了時刻を指定して、ロウ集合またはその特定のカラムに対し集計演算を行います。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAppendTimeSeriesRow (GSTimeSeries *timeSeries, const void *rowObj, GSBool *exists) |
GridDB上の現在時刻をロウキーとして、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByBaseTime (GSTimeSeries *timeSeries, GSTimestamp base, GSTimeOperator timeOp, void *rowObj, GSBool *exists) |
指定の時刻を基準として、関係する1つのロウを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsInterpolateTimeSeriesRow (GSTimeSeries *timeSeries, GSTimestamp base, const GSChar *column, void *rowObj, GSBool *exists) |
指定時刻に相当するロウオブジェクトについて、線形補間などを行い生成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByTimeSeriesRange (GSTimeSeries *timeSeries, GSTimestamp start, GSTimestamp end, GSQuery **query) |
開始時刻・終了時刻を指定して、特定範囲のロウ集合を求めるクエリを作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByTimeSeriesOrderedRange (GSTimeSeries *timeSeries, const GSTimestamp *start, const GSTimestamp *end, GSQueryOrder order, GSQuery **query) |
開始時刻・終了時刻・順序を指定して、特定範囲のロウ集合を求めるクエリを作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByTimeSeriesSampling (GSTimeSeries *timeSeries, GSTimestamp start, GSTimestamp end, const GSChar *const *columnSet, size_t columnCount, GSInterpolationMode mode, int32_t interval, GSTimeUnit intervalUnit, GSQuery **query) |
特定範囲のロウ集合をサンプリングするクエリを作成します。More... | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseRow (GSRow **row) |
指定のGSRowインスタンスを解放します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsGetRowSchema (GSRow *row, GSContainerInfo *schemaInfo) |
指定のロウに対応するスキーマを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldGeneral (GSRow *row, int32_t column, const GSValue *fieldValue, GSType type) |
指定のフィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldGeneral (GSRow *row, int32_t column, GSValue *fieldValue, GSType *type) |
指定のフィールドの値とその型を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldNull (GSRow *row, int32_t column) |
指定のフィールドにNULLを設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldNull (GSRow *row, int32_t column, GSBool *nullValue) |
指定のフィールドにNULLが設定されているかどうかを返します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByString (GSRow *row, int32_t column, const GSChar *fieldValue) |
指定のSTRING型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsString (GSRow *row, int32_t column, const GSChar **fieldValue) |
指定のSTRING型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByBool (GSRow *row, int32_t column, GSBool fieldValue) |
指定のBOOL型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsBool (GSRow *row, int32_t column, GSBool *fieldValue) |
指定のBOOL型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByByte (GSRow *row, int32_t column, int8_t fieldValue) |
指定のBYTE型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsByte (GSRow *row, int32_t column, int8_t *fieldValue) |
指定のBYTE型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByShort (GSRow *row, int32_t column, int16_t fieldValue) |
指定のSHORT型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsShort (GSRow *row, int32_t column, int16_t *fieldValue) |
指定のSHORT型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByInteger (GSRow *row, int32_t column, int32_t fieldValue) |
指定のINTEGER型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsInteger (GSRow *row, int32_t column, int32_t *fieldValue) |
指定のINTEGER型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByLong (GSRow *row, int32_t column, int64_t fieldValue) |
指定のLONG型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsLong (GSRow *row, int32_t column, int64_t *fieldValue) |
指定のLONG型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByFloat (GSRow *row, int32_t column, float fieldValue) |
指定のFLOAT型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsFloat (GSRow *row, int32_t column, float *fieldValue) |
指定のFLOAT型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByDouble (GSRow *row, int32_t column, double fieldValue) |
指定のDOUBLE型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsDouble (GSRow *row, int32_t column, double *fieldValue) |
指定のDOUBLE型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByTimestamp (GSRow *row, int32_t column, GSTimestamp fieldValue) |
指定のTIMESTAMP型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsTimestamp (GSRow *row, int32_t column, GSTimestamp *fieldValue) |
指定のTIMESTAMP型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByGeometry (GSRow *row, int32_t column, const GSChar *fieldValue) |
指定のGEOMETRY型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsGeometry (GSRow *row, int32_t column, const GSChar **fieldValue) |
指定のGEOMETRY型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByBlob (GSRow *row, int32_t column, const GSBlob *fieldValue) |
指定のBLOB型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsBlob (GSRow *row, int32_t column, GSBlob *fieldValue) |
指定のBLOB型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByStringArray (GSRow *row, int32_t column, const GSChar *const *fieldValue, size_t size) |
指定のSTRING配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsStringArray (GSRow *row, int32_t column, const GSChar *const **fieldValue, size_t *size) |
指定のSTRING配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByBoolArray (GSRow *row, int32_t column, const GSBool *fieldValue, size_t size) |
指定のBOOL配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsBoolArray (GSRow *row, int32_t column, const GSBool **fieldValue, size_t *size) |
指定のBOOL配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByByteArray (GSRow *row, int32_t column, const int8_t *fieldValue, size_t size) |
指定のBYTE配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsByteArray (GSRow *row, int32_t column, const int8_t **fieldValue, size_t *size) |
指定のBYTE配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByShortArray (GSRow *row, int32_t column, const int16_t *fieldValue, size_t size) |
指定のSHORT配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsShortArray (GSRow *row, int32_t column, const int16_t **fieldValue, size_t *size) |
指定のSHORT配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByIntegerArray (GSRow *row, int32_t column, const int32_t *fieldValue, size_t size) |
指定のINTEGER配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsIntegerArray (GSRow *row, int32_t column, const int32_t **fieldValue, size_t *size) |
指定のINTEGER配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByLongArray (GSRow *row, int32_t column, const int64_t *fieldValue, size_t size) |
指定のLONG配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsLongArray (GSRow *row, int32_t column, const int64_t **fieldValue, size_t *size) |
指定のLONG配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByFloatArray (GSRow *row, int32_t column, const float *fieldValue, size_t size) |
指定のFLOAT配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsFloatArray (GSRow *row, int32_t column, const float **fieldValue, size_t *size) |
指定のFLOAT配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByDoubleArray (GSRow *row, int32_t column, const double *fieldValue, size_t size) |
指定のDOUBLE配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsDoubleArray (GSRow *row, int32_t column, const double **fieldValue, size_t *size) |
指定のDOUBLE配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByTimestampArray (GSRow *row, int32_t column, const GSTimestamp *fieldValue, size_t size) |
指定のTIMESTAMP配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsTimestampArray (GSRow *row, int32_t column, const GSTimestamp **fieldValue, size_t *size) |
指定のTIMESTAMP配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowByRow (GSRow *row, GSRow **destRow) |
同一のフィールド値からなる新たなGSRowインスタンスを作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowKeyByRow (GSRow *row, GSRowKey **key) |
ロウキーを構成するカラムのみを持ち、それらのカラムについて同一のフィールド値からなる新たなGSRowKeyインスタンスを作成します。More... | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseQuery (GSQuery **query) |
指定のGSQueryインスタンスを解放します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsFetch (GSQuery *query, GSBool forUpdate, GSRowSet **rowSet) |
オプションを指定して指定のクエリを実行し、実行結果に対応するロウ集合を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetFetchOption (GSQuery *query, GSFetchOption fetchOption, const void *value, GSType valueType) |
結果取得に関するオプションを設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowSet (GSQuery *query, GSRowSet **rowSet) |
直近に実行した結果のGSRowSetを取得します。More... | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseRowSet (GSRowSet **rowSet) |
指定のGSRowSetインスタンスを解放します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteCurrentRow (GSRowSet *rowSet) |
現在のカーソル位置のロウを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetNextRow (GSRowSet *rowSet, void *rowObj) |
ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるロウオブジェクトを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetNextAggregation (GSRowSet *rowSet, GSAggregationResult **aggregationResult) |
ロウ集合内の後続のロウにカーソル移動し、移動後の位置にある集計結果を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetNextQueryAnalysis (GSRowSet *rowSet, GSQueryAnalysisEntry *queryAnalysis) |
ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるクエリ解析結果エントリを取得します。More... | |
GS_DLL_PUBLIC GSRowSetType GS_API_CALL | gsGetRowSetType (GSRowSet *rowSet) |
ロウ集合の種別を取得します。More... | |
GS_DLL_PUBLIC int32_t GS_API_CALL | gsGetRowSetSize (GSRowSet *rowSet) |
ロウ集合のサイズ、すなわちロウ集合作成時点におけるロウの数を返します。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsHasNextRow (GSRowSet *rowSet) |
現在のカーソル位置を基準として、ロウ集合内に後続のロウが存在するかどうかを返します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsUpdateCurrentRow (GSRowSet *rowSet, const void *rowObj) |
現在のカーソル位置のロウについて、指定のロウオブジェクトを使用してロウキー以外の値を更新します。More... | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseAggregationResult (GSAggregationResult **aggregationResult) |
指定のGSAggregationResultインスタンスを解放します。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsGetAggregationValue (GSAggregationResult *aggregationResult, void *value, GSType valueType) |
集計結果を指定の型の値として取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetAggregationValueAsLong (GSAggregationResult *aggregationResult, int64_t *value, GSBool *assigned) |
数値型の集計値をLONG型(int64_t )として取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetAggregationValueAsDouble (GSAggregationResult *aggregationResult, double *value, GSBool *assigned) |
数値型の集計値をDOUBLE型(double )として取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetAggregationValueAsTimestamp (GSAggregationResult *aggregationResult, GSTimestamp *value, GSBool *assigned) |
時刻型の集計値をTIMESTAMP型(GSTimestamp)で取得します。More... | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseRowKeyPredicate (GSRowKeyPredicate **predicate) |
指定のGSRowKeyPredicateインスタンスを解放します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateKeyType (GSRowKeyPredicate *predicate, GSType *keyType) |
合致条件の評価対象とするロウキーの型を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateKeySchema (GSRowKeyPredicate *predicate, GSContainerInfo *info) |
合致条件の評価対象とするロウキーのスキーマを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartGeneralKey (GSRowKeyPredicate *predicate, GSRowKey **keyObj) |
範囲条件の開始位置とするロウキーを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyGeneral (GSRowKeyPredicate *predicate, const GSValue **startKey) |
範囲条件の開始位置とする、単一カラムのロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsString (GSRowKeyPredicate *predicate, const GSChar **startKey) |
範囲条件の開始位置とするSTRING型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsInteger (GSRowKeyPredicate *predicate, const int32_t **startKey) |
範囲条件の開始位置とするINTEGER型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsLong (GSRowKeyPredicate *predicate, const int64_t **startKey) |
範囲条件の開始位置とするLONG型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp **startKey) |
範囲条件の開始位置とするTIMESTAMP型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishGeneralKey (GSRowKeyPredicate *predicate, GSRowKey **keyObj) |
範囲条件の終了位置とするロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyGeneral (GSRowKeyPredicate *predicate, const GSValue **finishKey) |
範囲条件の終了位置とする、単一カラムのロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsString (GSRowKeyPredicate *predicate, const GSChar **finishKey) |
範囲条件の終了位置とするSTRING型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsInteger (GSRowKeyPredicate *predicate, const int32_t **finishKey) |
範囲条件の終了位置とするINTEGER型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsLong (GSRowKeyPredicate *predicate, const int64_t **finishKey) |
範囲条件の終了位置とするLONG型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp **finishKey) |
範囲条件の終了位置とするTIMESTAMP型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctGeneralKeys (GSRowKeyPredicate *predicate, GSRowKey *const **keyObjList, size_t *size) |
個別条件を構成するロウキーの集合を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysGeneral (GSRowKeyPredicate *predicate, const GSValue **keyList, size_t *size) |
個別条件を構成する、単一カラムのロウキーの値の集合を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsString (GSRowKeyPredicate *predicate, const GSChar *const **keyList, size_t *size) |
個別条件を構成するSTRING型ロウキーの値の集合を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsInteger (GSRowKeyPredicate *predicate, const int32_t **keyList, size_t *size) |
個別条件を構成するINTEGER型ロウキーの値の集合を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsLong (GSRowKeyPredicate *predicate, const int64_t **keyList, size_t *size) |
個別条件を構成するLONG型ロウキーの値の集合を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp **keyList, size_t *size) |
個別条件を構成するTIMESTAMP型ロウキーの値の集合を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartGeneralKey (GSRowKeyPredicate *predicate, GSRowKey *keyObj) |
範囲条件の開始位置とするロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyGeneral (GSRowKeyPredicate *predicate, const GSValue *startKey, GSType keyType) |
範囲条件の開始位置とする、単一カラムのロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByString (GSRowKeyPredicate *predicate, const GSChar *startKey) |
範囲条件の開始位置とするSTRING型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByInteger (GSRowKeyPredicate *predicate, const int32_t *startKey) |
範囲条件の開始位置とするINTEGER型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByLong (GSRowKeyPredicate *predicate, const int64_t *startKey) |
範囲条件の開始位置とするLONG型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp *startKey) |
範囲条件の開始位置とするTIMESTAMP型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishGeneralKey (GSRowKeyPredicate *predicate, GSRowKey *keyObj) |
範囲条件の終了位置とするロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyGeneral (GSRowKeyPredicate *predicate, const GSValue *finishKey, GSType keyType) |
範囲条件の終了位置とする、単一カラムのロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByString (GSRowKeyPredicate *predicate, const GSChar *finishKey) |
範囲条件の終了位置とするSTRING型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByInteger (GSRowKeyPredicate *predicate, const int32_t *finishKey) |
範囲条件の終了位置とするINTEGER型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByLong (GSRowKeyPredicate *predicate, const int64_t *finishKey) |
範囲条件の終了位置とするLONG型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp *finishKey) |
範囲条件の終了位置とするTIMESTAMP型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateGeneralKey (GSRowKeyPredicate *predicate, GSRowKey *keyObj) |
個別条件の要素の一つとするロウキーの値を追加します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyGeneral (GSRowKeyPredicate *predicate, const GSValue *key, GSType keyType) |
個別条件の要素の一つとする、単一カラムのロウキーの値を追加します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByString (GSRowKeyPredicate *predicate, const GSChar *key) |
個別条件の要素の一つとするSTRING型ロウキーの値を追加します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByInteger (GSRowKeyPredicate *predicate, int32_t key) |
個別条件の要素の一つとするINTEGER型ロウキーの値を追加します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByLong (GSRowKeyPredicate *predicate, int64_t key) |
個別条件の要素の一つとするLONG型ロウキーの値を追加します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByTimestamp (GSRowKeyPredicate *predicate, GSTimestamp key) |
個別条件の要素の一つとするTIMESTAMP型ロウキーの値を追加します。More... | |
GS_DLL_PUBLIC void GS_API_CALL | gsClosePartitionController (GSPartitionController **controller) |
指定のGSPartitionControllerインスタンスを解放します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionCount (GSPartitionController *controller, int32_t *partitionCount) |
対象とするGridDBクラスタのパーティション数を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionContainerCount (GSPartitionController *controller, int32_t partitionIndex, int64_t *containerCount) |
指定のパーティションに属するコンテナの総数を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionContainerNames (GSPartitionController *controller, int32_t partitionIndex, int64_t start, const int64_t *limit, const GSChar *const **nameList, size_t *size) |
指定のパーティションに所属するコンテナの名前の一覧を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionHosts (GSPartitionController *controller, int32_t partitionIndex, const GSChar *const **addressList, size_t *size) |
指定のパーティションに対応するノードのアドレス一覧を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionOwnerHost (GSPartitionController *controller, int32_t partitionIndex, const GSChar **address) |
指定のパーティションに対応するオーナノードのアドレスを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionBackupHosts (GSPartitionController *controller, int32_t partitionIndex, const GSChar *const **addressList, size_t *size) |
指定のパーティションに対応するバックアップノードのアドレス一覧を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAssignPartitionPreferableHost (GSPartitionController *controller, int32_t partitionIndex, const GSChar *host) |
優先的に選択されるホストのアドレスを設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionIndexOfContainer (GSPartitionController *controller, const GSChar *containerName, int32_t *partitionIndex) |
指定のコンテナ名に対応するパーティションインデックスを取得します。More... | |
GS_DLL_PUBLIC GSTimestamp GS_API_CALL | gsCurrentTime () |
現在時刻を求めます。More... | |
GS_DLL_PUBLIC int64_t GS_API_CALL | gsGetTimeField (GSTimestamp timestamp, GSTimeUnit timeUnit) |
GSTimestampを構成するフィールド値の一つを取得します。More... | |
GS_DLL_PUBLIC int64_t GS_API_CALL | gsGetZonedTimeField (GSTimestamp timestamp, GSTimeUnit timeUnit, const GSTimeZone *zone) |
指定のタイムゾーン設定を用い、GSTimestampを構成するフィールド値の一つを取得します。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsSetTimeField (GSTimestamp *timestamp, int64_t field, GSTimeUnit timeUnit) |
GSTimestampを構成するフィールド値の一つを設定します。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsSetZonedTimeField (GSTimestamp *timestamp, int64_t field, GSTimeUnit timeUnit, const GSTimeZone *zone) |
指定のタイムゾーン設定を用い、GSTimestampを構成するフィールド値の一つを設定します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSTimestamp | gsAddTime (GSTimestamp timestamp, int64_t amount, GSTimeUnit timeUnit) |
時刻に一定の値を加算します。More... | |
GS_DLL_PUBLIC GSTimestamp GS_API_CALL | gsAddZonedTime (GSTimestamp timestamp, int64_t amount, GSTimeUnit timeUnit, const GSTimeZone *zone) |
指定のタイムゾーン設定を用い、時刻に一定の値を加算します。More... | |
GS_DLL_PUBLIC int64_t GS_API_CALL | gsGetTimeDiff (GSTimestamp timestamp1, GSTimestamp timestamp2, GSTimeUnit timeUnit) |
二つの時刻間の差分値を求めます。More... | |
GS_DLL_PUBLIC int64_t GS_API_CALL | gsGetZonedTimeDiff (GSTimestamp timestamp1, GSTimestamp timestamp2, GSTimeUnit timeUnit, const GSTimeZone *zone) |
指定のタイムゾーン設定を用い、二つの時刻間の差分値を求めます。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatTime (GSTimestamp timestamp, GSChar *strBuf, size_t bufSize) |
TQLのTIMESTAMP値表記に従い、時刻の文字列表現を求めます。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatZonedTime (GSTimestamp timestamp, GSChar *strBuf, size_t bufSize, const GSTimeZone *zone) |
指定のタイムゾーン設定を用い、TQLのTIMESTAMP値表記に従って時刻の文字列表現を求めます。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsParseTime (const GSChar *str, GSTimestamp *timestamp) |
TQLのTIMESTAMP値表記に従い、指定の文字列に対応するGSTimestamp値を求めます。More... | |
GS_DLL_PUBLIC int64_t GS_API_CALL | gsGetTimeZoneOffset (const GSTimeZone *zone, GSTimeUnit timeUnit) |
指定のタイムゾーンのオフセット値を取得します。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsSetTimeZoneOffset (GSTimeZone *zone, int64_t offset, GSTimeUnit timeUnit) |
指定のタイムゾーンのオフセット値を設定します。More... | |
GS_DLL_PUBLIC size_t | gsFormatTimeZone (const GSTimeZone *zone, GSChar *strBuf, size_t bufSize) |
TQLのTIMESTAMP値表記に従い、タイムゾーン情報の文字列表現を求めます。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsParseTimeZone (const GSChar *str, GSTimeZone *zone) |
TQLのTIMESTAMP値表記に従い、指定のタイムゾーン文字列に対応するGSTimeZone値を求めます。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsGetErrorStackSize (void *gsResource) |
指定のリソースに関する直前のエラー情報のスタックサイズを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetErrorCode (void *gsResource, size_t stackIndex) |
指定のリソースに関する直前のエラーのエラーコードを取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorMessage (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーのメッセージを取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorLocation (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーのメッセージの内部モジュールのエラー位置情報を取得します。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsIsTimeoutError (GSResult result) |
要求した処理が既定の時間内に終了しなかった場合に発生したエラーに該当するエラーコードかどうかを判定します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorName (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーのエラー名を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorDescription (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーの説明内容を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsGetErrorParameterCount (void *gsResource, size_t stackIndex) |
指定のリソースに関する直前のエラーに関するパラメータの個数を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorParameterName (void *gsResource, size_t stackIndex, size_t parameterIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーに関するパラメータの名前を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorParameterValue (void *gsResource, size_t stackIndex, size_t parameterIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーに関するパラメータの値を取得します。More... | |
Detailed Description
GridDBのC言語向け公開API.
Macro Definition Documentation
#define GS_CONTAINER_ROW_ENTRY_INITIALIZER { NULL, NULL, 0 } |
GSContainerRowEntryの初期化子です。
- Since
- 1.5
#define GS_GET_STRUCT_BINDING | ( | type | ) | GS_STRUCT_BINDING_GETTER_NAME(type) () |
ユーザ定義構造体とコンテナスキーマとの対応関係の定義を取得します。
- 指定の定義名のGS_STRUCT_BINDINGの定義を参照できるようにする必要があります。
- Parameters
-
type 対応関係の定義名。
- Returns
- 対応関係を示すGSBinding*型の値
- See Also
- GS_STRUCT_BINDING
#define GS_INDEX_INFO_INITIALIZER { NULL, GS_INDEX_FLAG_DEFAULT, -1, NULL, 0, NULL, 0, NULL } |
GSIndexInfoの初期化子です。
- Since
- 3.5
#define GS_RESULT_OK 0 |
GridDBに対する命令の実行に成功したことを示す、実行結果コードの値です。
- See Also
- GSResult
#define GS_ROW_KEY_PREDICATE_ENTRY_INITIALIZER { NULL, NULL } |
GSRowKeyPredicateEntryの初期化子です。
- Since
- 1.5
#define GS_STRUCT_BINDING | ( | type, | |
entries | |||
) |
ユーザ定義構造体とコンテナスキーマとの対応関係を定義します。
- 現バージョンでは、静的関数の定義に展開されます。
- 複合ロウキーの構成情報の定義にも使用できます。
- Parameters
-
type 対応関係の定義名。関数名の一部として使用されます。 entries 構造体メンバとカラム定義との対応関係を示す以下の定義の列を、「,」で区切らず順に並べます。
- See Also
- GS_GET_STRUCT_BINDING
#define GS_STRUCT_BINDING_ARRAY | ( | member, | |
sizeMember, | |||
elementType | |||
) |
ユーザ定義構造体メンバと配列型カラムスキーマとの対応関係を定義します。
- 構造体メンバの名前がそのままカラム名として使用されます。
- Parameters
-
member 配列ポインタ変数に対応する構造体メンバの名前 sizeMember 配列サイズ変数に対応する構造体メンバの名前 elementType 配列型の要素型の名前
- See Also
- GS_STRUCT_BINDING
#define GS_STRUCT_BINDING_COMPOSITE_KEY | ( | member, | |
bindingType | |||
) |
ユーザ定義構造体メンバと複合ロウキー付きカラムスキーマとの対応関係を定義します。
- Parameters
-
member 構造体メンバの名前 bindingType 複合ロウキーを構成するユーザ定義構造体の名前。対応する複合ロウキーの構成については、別途GS_STRUCT_BINDINGを通じて定義されていなければならない
- See Also
- GS_STRUCT_BINDING
- Since
- 4.3
#define GS_STRUCT_BINDING_ELEMENT | ( | member, | |
memberType | |||
) |
ユーザ定義構造体メンバと基本型カラムスキーマとの対応関係を定義します。
- 構造体メンバの名前がそのままカラム名として使用されます。
- Parameters
-
member 構造体メンバの名前 memberType 基本型の名前
- See Also
- GS_STRUCT_BINDING
#define GS_STRUCT_BINDING_KEY | ( | member, | |
memberType | |||
) |
ユーザ定義構造体メンバとロウキー付き基本型カラムスキーマとの対応関係を定義します。
- 構造体メンバの名前がそのままカラム名として使用されます。
- Parameters
-
member 構造体メンバの名前 memberType 基本型の名前
- See Also
- GS_STRUCT_BINDING
#define GS_STRUCT_BINDING_NAMED_ARRAY | ( | name, | |
member, | |||
sizeMember, | |||
elementType | |||
) |
カラム名を指定して、ユーザ定義構造体メンバと配列型カラムスキーマとの対応関係を定義します。
- Parameters
-
name カラム名 member 配列ポインタ変数に対応する構造体メンバの名前 sizeMember 配列サイズ変数に対応する構造体メンバの名前 elementType 配列型の要素型の名前
- See Also
- GS_STRUCT_BINDING
#define GS_STRUCT_BINDING_NAMED_ELEMENT | ( | name, | |
member, | |||
memberType | |||
) |
カラム名を指定して、ユーザ定義構造体メンバと基本型カラムスキーマとの対応関係を定義します。
- Parameters
-
name カラム名 member 構造体メンバの名前 memberType 基本型の名前
- See Also
- GS_STRUCT_BINDING
#define GS_STRUCT_BINDING_NAMED_KEY | ( | name, | |
member, | |||
memberType | |||
) |
カラム名を指定して、ユーザ定義構造体メンバとロウキー付き基本型カラムスキーマとの対応関係を定義します。
- Parameters
-
name カラム名 member 構造体メンバの名前 memberType 基本型の名前
- See Also
- GS_STRUCT_BINDING
#define GS_SUCCEEDED | ( | result | ) | ((result) == GS_RESULT_OK) |
実行結果コードに基づきGridDBに対する命令の実行に成功したかどうかのブール値を求めるマクロです。
- See Also
- GS_RESULT_OK
- GSResult
#define GS_TIME_SERIES_PROPERTIES_INITIALIZER |
GSTimeSeriesPropertiesの初期化子です。
- ロウの有効期限ならびに圧縮ロウの間引き連続制限は無効、時系列圧縮方式は無圧縮に設定されます。
Typedef Documentation
typedef GSEnum GSAggregation |
- See Also
- GSAggregationTag
typedef char GSBool |
GridDB APIで使用されるブール型です。
- GridDB上のBOOL型と対応します。
typedef char GSChar |
GridDB APIで使用される標準の文字の型です。
- この型の文字列エンコーディングは常にUTF-8です。
typedef struct GSCollectionPropertiesTag GSCollectionProperties |
コレクションの構成オプションを表します。
- Note
- 現バージョンでは使用されておりません。
typedef struct GSColumnCompressionTag GSColumnCompression |
特定のカラムの圧縮設定を表します。
- 時系列を対象とした誤差あり間引き圧縮のカラム別設定に使用します。
typedef GSEnum GSCompressionMethod |
- See Also
- GSCompressionMethodTag
typedef struct GSContainerRowEntryTag GSContainerRowEntry |
複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。
- Since
- 1.5
typedef GSEnum GSContainerType |
- See Also
- GSContainerTypeTag
typedef GSEnum GSFetchOption |
- See Also
- GSFetchOptionTag
typedef GSEnum GSGeometryOperator |
- See Also
- GSGeometryOperatorTag
typedef struct GSIndexInfoTag GSIndexInfo |
索引の設定内容を表します。
- Since
- 3.5
typedef int32_t GSIndexTypeFlags |
- See Also
- GSIndexTypeFlagTag
typedef GSEnum GSInterpolationMode |
- See Also
- GSInterpolationModeTag
typedef struct GSQueryAnalysisEntryTag GSQueryAnalysisEntry |
クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。
- TQLのEXPLAIN文ならびEXPLAIN ANALYZE文の実行結果を保持するために使用します。1つの実行結果は、このエントリの列により表現されます。
typedef GSEnum GSQueryOrder |
- See Also
- GSQueryOrderTag
typedef struct GSRowKeyPredicateEntryTag GSRowKeyPredicateEntry |
複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。
- Since
- 1.5
typedef GSEnum GSRowSetType |
- See Also
- GSRowSetTypeTag
typedef GSEnum GSTimeOperator |
- See Also
- GSTimeOperatorTag
typedef struct GSTimeSeriesPropertiesTag GSTimeSeriesProperties |
時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。
- カラム名の表記、もしくは、個別に圧縮設定できるカラム数の上限などの内容の妥当性について、必ずしも検査するとは限りません。
typedef GSEnum GSTimeUnit |
- See Also
- GSTimeUnitTag
typedef int32_t GSTriggerEventTypeFlags |
- See Also
- GSTriggerEventTypeFlagTag
typedef struct GSTriggerInfoTag GSTriggerInfo |
トリガに関する情報を表します。
- Since
- 1.5
typedef GSEnum GSTriggerType |
- See Also
- GSTriggerTypeTag
typedef int32_t GSTypeOption |
カラムに関するオプション設定を示すフラグ値のビット和です。
- ある設定項目について、対応するフラグ値が複数含まれていた場合に、オプション設定が矛盾しているとみなされるものが存在します。それらの設定項目のうち、対応するフラグ値が一つも含まれていないものは、未設定状態であるとみなされます。この制約に該当する設定項目とフラグ値との対応は次の通りです。
設定項目 フラグ値 NOT NULL制約 初期値でのNULL使用有無
- See Also
- GSTypeOptionTag
typedef union GSValueTag GSValue |
ロウフィールドに格納できるいずれかの型の値です。
- Since
- 1.5
Enumeration Type Documentation
enum GSAggregationTag |
ロウ集合またはその特定のカラムに対する、集計演算の方法を示します。
- 現バージョンでは、GSTimeSeriesに対してのみ使用できます。
- 重み付きの演算の場合、キーの値に基づき重み付け値を決定します。GSTimeSeriesに対する重み付きの演算の場合、前後それぞれの時刻のロウとの中間時刻間の期間を特定の単位で換算したものを、重み付け値として使用します。ただし、前後いずれかの時刻のロウのみが存在しない場合は、存在しないロウの代わりに重み付け対象のロウを用いて求めた重み付け値を使用します。前後いずれの時刻のロウも存在しない場合は、重み付け値として
1
(単位は前後いずれかのロウが存在する場合と同一)を使用します。
- 演算の内部処理にてオーバーフローが発生した場合、浮動小数点数型では負または正の無限大、整数型では未定義の値が求まります。また、浮動小数点数型にて演算対象に非数(
NaN
)が含まれていた場合、非数が求まります。
Enumerator | |
---|---|
GS_AGGREGATION_MINIMUM |
最小値を求める演算です。
|
GS_AGGREGATION_MAXIMUM |
最大値を求める演算です。
|
GS_AGGREGATION_TOTAL |
合計を求める演算です。
|
GS_AGGREGATION_AVERAGE |
平均を求める演算です。
|
GS_AGGREGATION_VARIANCE |
分散を求める演算です。
|
GS_AGGREGATION_STANDARD_DEVIATION |
標準偏差を求める演算です。
|
GS_AGGREGATION_COUNT |
標本数、すなわちロウ数を求める演算です。
|
GS_AGGREGATION_WEIGHTED_AVERAGE |
重み付きで平均を求める演算です。
|
圧縮方式の種別を表します。
- 時系列圧縮設定を行う際に使用します。
enum GSContainerTypeTag |
enum GSFetchOptionTag |
クエリ実行結果を取得する際のオプション項目です。
Enumerator | |
---|---|
GS_FETCH_LIMIT |
取得するロウの数の最大値を設定するために使用します。
|
GS_FETCH_PARTIAL_EXECUTION |
部分実行モードを設定するために使用します。
|
enum GSIndexTypeFlagTag |
GSContainerに設定する索引の種別を示します。
Enumerator | |
---|---|
GS_INDEX_FLAG_DEFAULT |
デフォルトの索引を示します。
|
GS_INDEX_FLAG_TREE |
ツリー索引を示します。
|
GS_INDEX_FLAG_HASH |
ハッシュ索引を示します。
|
GS_INDEX_FLAG_SPATIAL |
空間索引を示します。
|
ロウの補間方法の種別を表します。
- 時系列ロウの補間機能で使用されます。
Enumerator | |
---|---|
GS_INTERPOLATION_LINEAR_OR_PREVIOUS |
カラムに応じて線形補間または直前ロウの値による補間を行うことを示します。
|
GS_INTERPOLATION_EMPTY |
空の値を補間値として用いることを示します。
|
enum GSQueryOrderTag |
enum GSRowSetTypeTag |
GSRowSetから取り出すことのできる内容の種別です。
Enumerator | |
---|---|
GS_ROW_SET_CONTAINER_ROWS |
クエリ実行対象のコンテナと対応する型のロウデータからなるGSRowSetであることを示します。 |
GS_ROW_SET_AGGREGATION_RESULT |
集計演算からなるGSRowSetであることを示します。
|
GS_ROW_SET_QUERY_ANALYSIS |
EXPLAIN文ならびEXPLAIN ANALYZE文の実行結果エントリからなるGSRowSetであることを示します。
|
enum GSTimeOperatorTag |
GSTimeSeriesのキー時刻に基づく、ロウの特定方法を表します。
- 別途指定する時刻と組み合わせることで、最も近い時刻のキーを持つロウなどを特定できます。該当するロウが存在しない場合の扱いは、この列挙型を使用するそれぞれの機能により異なります。
enum GSTimeUnitTag |
enum GSTriggerTypeTag |
enum GSTypeOptionTag |
カラムに関するオプション設定を示します。
- See Also
- GSTypeOption
enum GSTypeTag |
GridDB上のフィールド値の型を表します。
Function Documentation
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsCreateIndexDetail | ( | GSContainer * | container, |
const GSIndexInfo * | info | ||
) |
GSIndexInfoで設定されている内容に従い、索引を作成します。
- 作成対象の索引のカラムについては、カラム名列またはカラム番号列の少なくとも一方が設定されており、かつ、対応するコンテナにおいて実在するものが設定されている必要があります。カラム名列とカラム番号列が共に設定されている場合、対応するカラム列が順序を含め一致している必要があります。
- 索引種別が一つも設定されていないかGS_INDEX_FLAG_DEFAULTが設定されていた場合、後述の基準に従い、デフォルト種別の索引が選択されます。それ以外の場合、対象のカラムにおいて許されている索引種別である限り、一つ以上の種別を指定できます。複数個の種別が設定されていた場合、作成途中に一部の索引のみが作成された状態のコンテナ情報を参照できることや、エラーが生じるとその状態まま作成操作が終了することがあります。
- 1つのコンテナの索引間で、ASCIIの大文字・小文字表記だけが異なる名前のものを複数定義することはできません。その他、索引の定義において使用できる索引名の文字種や長さには制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。特に記載のない限り、索引名を指定する操作では、ASCIIの大文字・小文字表記の違いは区別されません。
- 既存の同名の索引が存在した場合、後述の条件を満たす同一設定のGSIndexInfoを指定しなければならず、その場合新たな索引は作成されません。一方、既存の異なる名前の索引または名前のない索引と同一設定のGSIndexInfoを指定することはできません。
- 索引名が設定されていない場合は、名前のない索引の作成が要求されたものとみなされます。名前を除いて同一設定の索引がすでに存在していた場合、名前のない索引でなければならず、その場合新たな索引は作成されません。
- 現バージョンでは、少なくともGSContainerを通じて作成された索引において、次の条件を満たす場合に索引名を除いて同一設定の索引であるとみなされます。
- 索引対象のカラム列が順序を含め一致すること。カラム名列、カラム番号列、単一カラム指定、といった、カラム列の指定方法の違いは無視される
- 索引種別が一致すること。デフォルト指定の有無といった索引種別の指定方法の違いは無視される
- 現バージョンにおける、gsGetDefaultFactoryを基に生成されたGSContainerインスタンスでは、コンテナの種別、対応するカラムの型などに基づき、次の索引種別がデフォルトとして選択されます。
カラムの型 コレクション 時系列 STRING GS_INDEX_FLAG_TREE GS_INDEX_FLAG_TREE BOOL GS_INDEX_FLAG_TREE GS_INDEX_FLAG_TREE 数値型 GS_INDEX_FLAG_TREE GS_INDEX_FLAG_TREE TIMESTAMP GS_INDEX_FLAG_TREE GS_INDEX_FLAG_TREE※制限あり GEOMETRY GS_INDEX_FLAG_SPATIAL (なし) BLOB (なし) (なし) 配列型 (なし) (なし)
- 時系列のロウキー(TIMESTAMP型)には索引を設定できません。また、カラム列を構成するカラム型によってデフォルト種別が異なる場合には、選択できません。
- このGSContainerインスタンスが未コミットのトランザクションを保持していた場合、コミットしてから作成を行います。処理対象のコンテナにおいて実行中の他のトランザクションが存在する場合、それらの終了を待機してから作成を行います。すでに索引が存在しており新たな索引が作成されなかった場合、他のトランザクションによって待機するかどうかは未定義です。またこの場合、このGSContainerインスタンスが保持している未コミットのトランザクションが常にコミットされるかどうかは未定義です。
- 現バージョンでは、コンテナの規模など諸条件を満たした場合、索引の作成開始から終了までの間に、処理対象のコンテナに対してコンテナ情報の参照、一部の索引操作、トリガ操作、ロウ操作(更新含む)を行える場合があります。それ以外の操作は、GSContainerでの説明通り待機させる場合があります。索引の作成途中に別の操作が行われる場合は、作成途中の索引に関する情報はコンテナ情報には含まれません。
- Parameters
-
[in] container 処理対象のGSContainer [in] info 処理対象の索引の情報
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 作成対象のカラム、索引名が上記の規則に合致しない場合
- この処理のタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- 指定のカラムにおいてサポートされていない索引種別が指定された場合
- 引数に
NULL
が指定された場合
- Since
- 3.5
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsDropIndexDetail | ( | GSContainer * | container, |
const GSIndexInfo * | info | ||
) |
GSIndexInfoで設定されている内容に一致する、すべての索引を削除します。
- GSIndexInfoの設定内容は、削除対象の索引を絞り込む条件として使用されます。絞り込み条件は、カラム列、索引種別、索引名の3つに分類されます。それぞれ設定するかどうかは任意です。いずれも設定されていない場合は、作成済みのすべての索引が削除されます。
- カラム名列またはカラム番号列が設定されている場合、対応するコンテナにおいて実在するものである必要があります。カラム名列とカラム番号列が共に設定されている場合、対応するカラムが互いに一致している必要があります。カラム名列ならびにカラム番号列が共に設定されていない場合、他の絞り込み条件(索引種別、索引名)を満たす任意のカラム列に対する索引が削除対象となります。
- 索引種別が設定されている場合、指定の種別の索引のみが削除対象となります。GS_INDEX_FLAG_DEFAULTが設定されている場合、gsCreateIndexDetailの基準に従い、デフォルト種別の索引が選択されます。それ以外の場合、対象のカラムにおいて許されている索引種別である限り、任意個数の種別を指定できます。複数個の種別が設定されていた場合、削除途中に一部の索引のみが削除された状態のコンテナ情報を参照できることや、エラーが生じるとその状態まま削除操作が終了することがあります。索引をサポートしていないカラムや指定の種別の索引をサポートしていないカラムについては、削除対象にはなりません。索引種別が設定されていない場合、他の絞り込み条件(カラム列、索引名)を満たす任意の種別の索引が削除対象となります。
- 索引名が設定されている場合、指定の名前の索引のみが削除対象となります。索引名の同一性は、gsCreateIndexDetailの基準に従います。索引名が設定されていない場合、他の絞り込み条件(カラム列、索引種別)を満たす、任意の名前の索引ならびに名前のない索引が削除対象となります。
- 削除対象となる索引が一つも存在しない場合、索引の削除は行われません。
- トランザクションの扱いは、gsCreateIndexDetailと同様です。また、索引種別としてデフォルト種別または単一の種別が設定されており、かつ、複数の索引が削除対象となった場合に、一部の索引のみが削除された状態で他のトランザクションが実行されることがありうるかどうかは未定義です。
- 索引の削除要求の完了直後の状態に関しては、gsDropContainerと同様です。
- Parameters
-
[in] container 処理対象のGSContainer [in] info 処理対象の索引の情報
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 削除対象のカラム、索引名が上記の規則に合致しない場合
- この処理のタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- 引数に
NULL
が指定された場合
- Since
- 3.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetAggregationValueAsDouble | ( | GSAggregationResult * | aggregationResult, |
double * | value, | ||
GSBool * | assigned | ||
) |
数値型の集計値をDOUBLE型(double
)として取得します。
- 数値型以外の値を保持している場合、
assigned
引数にはGS_FALSEが格納されます。DOUBLE型以外の数値を保持している場合、DOUBLE型に変換したものが格納されます。
- Parameters
-
[in] aggregationResult 取得対象のGSAggregationResult [out] value 集計値を格納するための変数へのポインタ値 [out] assigned 期待の型の値を取得できたかどうかを格納するための変数へのポインタ値。 NULL
が指定された場合、取得できたかどうかの情報は格納されません
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
assigned
以外の引数にNULL
が指定された場合
- Since
- 3.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetAggregationValueAsLong | ( | GSAggregationResult * | aggregationResult, |
int64_t * | value, | ||
GSBool * | assigned | ||
) |
数値型の集計値をLONG型(int64_t
)として取得します。
- 数値型以外の値を保持している場合、
assigned
引数にはGS_FALSEが格納されます。LONG型以外の数値を保持している場合、LONG型に変換したものが格納されます。
- Parameters
-
[in] aggregationResult 取得対象のGSAggregationResult [out] value 集計値を格納するための変数へのポインタ値 [out] assigned 期待の型の値を取得できたかどうかを格納するための変数へのポインタ値。 NULL
が指定された場合、取得できたかどうかの情報は格納されません
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
assigned
以外の引数にNULL
が指定された場合
- Since
- 3.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetAggregationValueAsTimestamp | ( | GSAggregationResult * | aggregationResult, |
GSTimestamp * | value, | ||
GSBool * | assigned | ||
) |
時刻型の集計値をTIMESTAMP型(GSTimestamp)で取得します。
- TIMESTAMP型以外の値を保持している場合、
assigned
引数にはGS_FALSEが格納されます。
- Parameters
-
[in] aggregationResult 取得対象のGSAggregationResult [out] value 集計値を格納するための変数へのポインタ値 [out] assigned 期待の型の値を取得できたかどうかを格納するための変数へのポインタ値。 NULL
が指定された場合、取得できたかどうかの情報は格納されません
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
assigned
以外の引数にNULL
が指定された場合
- Since
- 3.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldNull | ( | GSRow * | row, |
int32_t | column, | ||
GSBool * | nullValue | ||
) |
指定のフィールドにNULLが設定されているかどうかを返します。
- NOT NULL制約の設定されたカラムが指定された場合、常にGS_FALSEを返します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] nullValue NULLが設定されているかどうか受け取る変数へのポインタ値
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 3.5
指定のフィールドにNULLを設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- NOT NULL制約の設定されたカラムが指定された場合
- ポインタ型引数に
- Since
- 3.5
Functions | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsGetErrorStackSize (void *gsResource) |
指定のリソースに関する直前のエラー情報のスタックサイズを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetErrorCode (void *gsResource, size_t stackIndex) |
指定のリソースに関する直前のエラーのエラーコードを取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorMessage (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーのメッセージを取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorLocation (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーのメッセージの内部モジュールのエラー位置情報を取得します。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsIsTimeoutError (GSResult result) |
要求した処理が既定の時間内に終了しなかった場合に発生したエラーに該当するエラーコードかどうかを判定します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorName (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーのエラー名を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorDescription (void *gsResource, size_t stackIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーの説明内容を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsGetErrorParameterCount (void *gsResource, size_t stackIndex) |
指定のリソースに関する直前のエラーに関するパラメータの個数を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorParameterName (void *gsResource, size_t stackIndex, size_t parameterIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーに関するパラメータの名前を取得します。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatErrorParameterValue (void *gsResource, size_t stackIndex, size_t parameterIndex, GSChar *strBuf, size_t bufSize) |
指定のリソースに関する直前のエラーに関するパラメータの値を取得します。More... | |
Detailed Description
Function Documentation
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatErrorDescription | ( | void * | gsResource, |
size_t | stackIndex, | ||
GSChar * | strBuf, | ||
size_t | bufSize | ||
) |
指定のリソースに関する直前のエラーの説明内容を取得します。
- 説明内容は、エラーメッセージのうち、エラー番号・エラー名を除いた部分に相当します。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。gsGetErrorCodeの同名の引数と同様です。 [out] strBuf エラーの説明内容を格納する文字列バッファ。gsFormatErrorMessageの同名の引数と同様です。 [in] bufSize エラーの説明内容を格納する文字列バッファの終端文字を含む文字数。gsFormatErrorMessageの同名の引数と同様です。
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。該当する情報を取得できなかった場合、
0
- Since
- 4.2
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatErrorLocation | ( | void * | gsResource, |
size_t | stackIndex, | ||
GSChar * | strBuf, | ||
size_t | bufSize | ||
) |
指定のリソースに関する直前のエラーのメッセージの内部モジュールのエラー位置情報を取得します。
- 設定によっては常に空文字列しか求まらない場合があります。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。gsGetErrorCodeの同名の引数と同様です。 [out] strBuf エラー位置情報を格納する文字列バッファ。gsFormatErrorMessageの同名の引数と同様です。 [in] bufSize エラー位置情報を格納する文字列バッファの終端文字を含む文字数。gsFormatErrorMessageの同名の引数と同様です。
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。該当する情報を取得できなかった場合、
0
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatErrorMessage | ( | void * | gsResource, |
size_t | stackIndex, | ||
GSChar * | strBuf, | ||
size_t | bufSize | ||
) |
指定のリソースに関する直前のエラーのメッセージを取得します。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。gsGetErrorCodeの同名の引数と同様です。 [out] strBuf エラーメッセージを格納する文字列バッファ。 NULL
の場合、有効な結果を取得できません。NULL
ではなく、別の原因で有効な結果が取得できなかった場合、bufSize
が正の値であれば空文字列を格納します。[in] bufSize エラーメッセージを格納する文字列バッファの終端文字を含む文字数。格納する文字列の終端文字を含む文字数の方が大きい場合、終端文字を除く後方の文字列を切り詰めて格納します。 0
の場合、文字列バッファにアクセスしません。
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。該当する情報を取得できなかった場合、
0
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatErrorName | ( | void * | gsResource, |
size_t | stackIndex, | ||
GSChar * | strBuf, | ||
size_t | bufSize | ||
) |
指定のリソースに関する直前のエラーのエラー名を取得します。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。gsGetErrorCodeの同名の引数と同様です。 [out] strBuf エラー名を格納する文字列バッファ。gsFormatErrorMessageの同名の引数と同様です。 [in] bufSize エラー名を格納する文字列バッファの終端文字を含む文字数。gsFormatErrorMessageの同名の引数と同様です。
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。該当する情報を取得できなかった場合、
0
- Since
- 4.2
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatErrorParameterName | ( | void * | gsResource, |
size_t | stackIndex, | ||
size_t | parameterIndex, | ||
GSChar * | strBuf, | ||
size_t | bufSize | ||
) |
指定のリソースに関する直前のエラーに関するパラメータの名前を取得します。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。gsGetErrorCodeの同名の引数と同様です。 [in] parameterIndex エラーに関するパラメータ集合のインデックス。 0
以上、かつ、パラメータの個数未満の値を指定した場合のみ、有効な結果を取得できます。[out] strBuf パラメータ名を格納する文字列バッファ。gsFormatErrorMessageの同名の引数と同様です。 [in] bufSize パラメータ名を格納する文字列バッファの終端文字を含む文字数。gsFormatErrorMessageの同名の引数と同様です。
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。該当する情報を取得できなかった場合、
0
- See Also
- gsGetErrorParameterCount
- Since
- 4.2
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatErrorParameterValue | ( | void * | gsResource, |
size_t | stackIndex, | ||
size_t | parameterIndex, | ||
GSChar * | strBuf, | ||
size_t | bufSize | ||
) |
指定のリソースに関する直前のエラーに関するパラメータの値を取得します。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。gsGetErrorCodeの同名の引数と同様です。 [in] parameterIndex エラーに関するパラメータ集合のインデックス。gsFormatErrorParameterNameの同名の引数と同様です。 [out] strBuf パラメータ値を格納する文字列バッファ。gsFormatErrorMessageの同名の引数と同様です。 [in] bufSize パラメータ値を格納する文字列バッファの終端文字を含む文字数。gsFormatErrorMessageの同名の引数と同様です。
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。該当する情報を取得できなかった場合、
0
- See Also
- gsGetErrorParameterCount
- Since
- 4.2
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetErrorCode | ( | void * | gsResource, |
size_t | stackIndex | ||
) |
指定のリソースに関する直前のエラーのエラーコードを取得します。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。 0
以上スタックサイズ未満の値を指定した場合のみ、有効な結果を取得できます。
- Returns
- エラーコード。該当する情報を取得できなかった場合、GS_RESULT_OK以外の値
GS_DLL_PUBLIC size_t GS_API_CALL gsGetErrorParameterCount | ( | void * | gsResource, |
size_t | stackIndex | ||
) |
指定のリソースに関する直前のエラーに関するパラメータの個数を取得します。
- エラーに関する内容のうち、特定の情報についてはパラメータとして取り出すことができます。各パラメータは、名前と値を持ちます。パラメータの個数に基づく各インデックス値を通じ、順不同にパラメータを列挙することができます。取得できるパラメータについては、エラーを引き起こした操作に関する、個々のインタフェースまたは関連するインタフェースの定義を参照してください。
- 取得できるパラメータの内容は、gsFormatErrorMessageもしくはgsFormatErrorDescriptionより求まる文字列にも原則として含まれます。一方、この文字列から特定の情報だけを一定の文字列解析規則で取り出せるとは限りません。特定のバージョンのある状況下では取り出せたとしても、別の条件では意図しない情報が求まるなどして取り出せない可能性があります。エラーに関するパラメータを個々に取得することで、インタフェースの定義で明記された一部の情報については、文字列解析を行わずに取り出せます。
- エラーに関するパラメータだけを記録し、メッセージ文字列などその他のエラー内容を記録しなかった場合、記録された内容からエラーの原因を特定することが困難となる可能性があります。
- Parameters
-
[in] gsResource リソースのアドレス。gsGetErrorStackSizeの同名の引数と同様です。 [in] stackIndex エラースタックのインデックス。gsGetErrorCodeの同名の引数と同様です。
- Returns
- エラーに関するパラメータの個数。該当する情報を取得できなかった場合、
0
- Since
- 4.2
GS_DLL_PUBLIC size_t GS_API_CALL gsGetErrorStackSize | ( | void * | gsResource | ) |
指定のリソースに関する直前のエラー情報のスタックサイズを取得します。
- エラー情報はスタック構造になっており、スタック番号の大きいものほどより直接的なエラー原因と対応します。
- Parameters
-
[in] gsResource リソースのアドレス。ここでのリソースとは、GSGridStoreFactoryインスタンス、または、GSGridStoreFactoryを介して生成された、クローズ関数により破棄可能なリソースのことです。 NULL
が指定された場合、有効な結果を取得できません。
- Returns
- スタックサイズ。該当する情報を取得できなかった場合、
0
Typedefs | |
typedef struct GSAggregationResultTag | GSAggregationResult |
集計演算の結果を保持します。More... | |
Functions | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseAggregationResult (GSAggregationResult **aggregationResult) |
指定のGSAggregationResultインスタンスを解放します。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsGetAggregationValue (GSAggregationResult *aggregationResult, void *value, GSType valueType) |
集計結果を指定の型の値として取得します。More... | |
Detailed Description
Typedef Documentation
typedef struct GSAggregationResultTag GSAggregationResult |
集計演算の結果を保持します。
- gsGetNextAggregationもしくはgsAggregateTimeSeriesにより取得できる、集計演算の結果を保持します。整数型カラムに対する演算結果を浮動小数点型として、また、有効桁数の少ない数値型のカラムに対する演算結果をより桁数の多い数値型として受け取ることができます。
- 保持する型は、集計演算の種別や集計対象のカラムの型によって決定されます。具体的な規則はGSAggregationまたはTQLの仕様を参照してください。
- 取り出しできる型は、保持する型によって決まります。保持する型が数値型の場合はDOUBLE型またはLONG型、TIMESTAMP型の場合はTIMESTAMP型の値としてのみ取り出しできます。
Function Documentation
GS_DLL_PUBLIC void GS_API_CALL gsCloseAggregationResult | ( | GSAggregationResult ** | aggregationResult | ) |
指定のGSAggregationResultインスタンスを解放します。
- Parameters
-
[in,out] aggregationResult クローズ対象のGSAggregationResultインスタンスを指しているポインタ変数へのポインタ値。クローズすると、ポインタ変数に NULL
が設定されます。以後、解放したGSAggregationResultインスタンスにアクセスしてはなりません。ポインタ値またはポインタ変数の値がNULL
の場合は、クローズ処理を行いません。
GS_DLL_PUBLIC GSBool GS_API_CALL gsGetAggregationValue | ( | GSAggregationResult * | aggregationResult, |
void * | value, | ||
GSType | valueType | ||
) |
集計結果を指定の型の値として取得します。
- 取り出しできる型は、指定の
aggregationResult
が保持している値の型によって、次のように決まります。取り出しできる値の型 保持している値の型 LONG型(GS_TYPE_LONG) 数値型 DOUBLE型(GS_TYPE_DOUBLE) 数値型 TIMESTAMP型(GS_TYPE_TIMESTAMP) TIMESTAMP型
- また、
value
として指定できる型は、valueType
によって次のように決まります。valueType
value
の型LONG型(GS_TYPE_LONG) int64_t* DOUBLE型(GS_TYPE_DOUBLE) double* TIMESTAMP型(GS_TYPE_TIMESTAMP) GSTimestamp*
- Attention
valueType
とvalue
の型との対応が正しくない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] aggregationResult 処理対象のGSAggregationResult [out] value 取り出す値を格納するための変数へのポインタ値。 aggregationResult
がNULL
の場合、また、valueType
がvalue
として指定できる型のいずれとも対応しない場合は、何も格納しません。aggregationResult
が保持している値の型と照らし合わせて、valueType
が取り出しできない型であった場合、初期値として0
を格納します。[in] valueType 取り出す値の型
- Returns
- 指定の
aggregationResult
が保持している値を取り出しできたかどうか。次の場合、GS_FALSEを返します。valueType
として取り出しできない型が指定された場合- ポインタ型引数に
NULL
が指定された場合
Typedefs | |
typedef GSContainer | GSCollection |
ロウ集合を汎用的に管理するためのコンテナです。More... | |
Functions | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByGeometry (GSCollection *collection, const GSChar *column, const GSChar *geometry, GSGeometryOperator geometryOp, GSQuery **query) |
指定した空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByGeometryWithDisjointCondition (GSCollection *collection, const GSChar *column, const GSChar *geometryIntersection, const GSChar *geometryDisjoint, GSQuery **query) |
除外範囲付きの空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。More... | |
Detailed Description
Typedef Documentation
typedef GSContainer GSCollection |
ロウ集合を汎用的に管理するためのコンテナです。
- ロウキーには次の型が使用できます。
- STRING型(GSChar*)
- INTEGER型(int32_t)
- LONG型(int64_t)
- TIMESTAMP型(GSTimestamp)
- ロウキーの設定は必須ではありません。
- ロウ操作について、コンテナ固有の制限は設けられていません。
- gsQueryもしくはgsGetMultipleContainerRowsなどより複数のロウの内容を一度に取得する場合、特に指定がなければ、返却されるロウの順序は不定となります。
- ロック粒度はロウ単位です。
Function Documentation
GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByGeometry | ( | GSCollection * | collection, |
const GSChar * | column, | ||
const GSChar * | geometry, | ||
GSGeometryOperator | geometryOp, | ||
GSQuery ** | query | ||
) |
指定した空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。
- gsFetchを通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。
- Parameters
-
[in] collection 処理対象のGSCollection [in] column 比較対象の空間型カラムの名前 [in] geometry 比較対象として与える空間構造 [in] geometryOp 比較方法 [out] query GSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のコンテナの種別がコレクションではない場合
- 対応する名前のカラムが存在しない場合
geometryOp
以外の引数にNULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByGeometryWithDisjointCondition | ( | GSCollection * | collection, |
const GSChar * | column, | ||
const GSChar * | geometryIntersection, | ||
const GSChar * | geometryDisjoint, | ||
GSQuery ** | query | ||
) |
除外範囲付きの空間範囲条件に合致するロウ集合を求めるための、クエリを作成します。
geometryIntersection
と交差し、かつ、geometryDisjoint
と交差しないカラム値を持つロウ集合を取得します。交差判定の条件は、GS_GEOMETRY_OPERATOR_INTERSECTと同一です。
- gsFetchを通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。
- Parameters
-
[in] collection 処理対象のGSCollection [in] column 比較対象の空間型カラムの名前 [in] geometryIntersection カラム上の値と交差する範囲を示す空間構造 [in] geometryDisjoint 上の値と交差しない範囲を示す空間構造 [out] query GSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のコンテナの種別がコレクションではない場合
- 対応する名前のカラムが存在しない場合
- 引数に
NULL
が指定された場合
Typedefs | |
typedef struct GSContainerTag | GSContainer |
同一タイプのロウ集合からなるGridDBの構成要素に対しての、管理機能を提供します。More... | |
Functions | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseContainer (GSContainer **container, GSBool allRelated) |
指定のGSContainerインスタンスについて、必要に応じこのインスタンスならびに関連するリソースを解放します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateTrigger (GSContainer *container, const GSTriggerInfo *info) |
トリガを設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateIndex (GSContainer *container, const GSChar *columnName, GSIndexTypeFlags flags) |
指定された名前のカラムに対し、指定された種別で名前のない索引を作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropTrigger (GSContainer *container, const GSChar *name) |
トリガを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropIndex (GSContainer *container, const GSChar *columnName, GSIndexTypeFlags flags) |
指定された名前のカラムのうち、指定された種別の索引のみを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsFlush (GSContainer *container) |
これまでの更新結果をSSDなどの不揮発性記憶媒体に書き出し、すべてのクラスタノードが突然停止したとしても内容が失われないようにします。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRow (GSContainer *container, const void *key, void *rowObj, GSBool *exists) |
ロウキーに対応するロウの内容を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRow (GSContainer *container, const void *key, const void *rowObj, GSBool *exists) |
必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutMultipleRows (GSContainer *container, const void *const *rowObjs, size_t rowCount, GSBool *exists) |
指定のロウオブジェクト集合に基づき、任意個数のロウをまとめて新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsQuery (GSContainer *container, const GSChar *queryString, GSQuery **query) |
指定のTQL文を実行するためのクエリを作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRow (GSContainer *container, const void *key, GSBool *exists) |
指定のロウキーに対応するロウを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetContainerType (GSContainer *container, GSContainerType *type) |
指定のコンテナの種別を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowByContainer (GSContainer *container, GSRow **row) |
指定のコンテナのカラムレイアウトに基づき、ロウオブジェクトを新規作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAbort (GSContainer *container) |
手動コミットモードにおいて、現在のトランザクションの操作結果を元に戻し、新たなトランザクションを開始します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCommit (GSContainer *container) |
手動コミットモードにおいて、現在のトランザクションにおける操作結果を確定させ、新たなトランザクションを開始します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowForUpdate (GSContainer *container, const void *key, void *rowObj, GSBool *exists) |
ロウキーに対応するロウについて、更新用ロックを獲得し内容を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetAutoCommit (GSContainer *container, GSBool enabled) |
コミットモードの設定を変更します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByInteger (GSContainer *container, int32_t key, void *rowObj, GSBool forUpdate, GSBool *exists) |
INTEGER型のロウキーに対応するロウの内容を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByLong (GSContainer *container, int64_t key, void *rowObj, GSBool forUpdate, GSBool *exists) |
LONG型のロウキーに対応するロウの内容を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByTimestamp (GSContainer *container, GSTimestamp key, void *rowObj, GSBool forUpdate, GSBool *exists) |
TIMESTAMP型のロウキーに対応するロウの内容を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByString (GSContainer *container, const GSChar *key, void *rowObj, GSBool forUpdate, GSBool *exists) |
STRING型のロウキーに対応するロウの内容を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByInteger (GSContainer *container, int32_t key, const void *rowObj, GSBool *exists) |
INTEGER型のロウキーを指定して、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByLong (GSContainer *container, int64_t key, const void *rowObj, GSBool *exists) |
LONG型のロウキーを指定して、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByTimestamp (GSContainer *container, GSTimestamp key, const void *rowObj, GSBool *exists) |
TIMESTAMP型のロウキーを指定して、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowByString (GSContainer *container, const GSChar *key, const void *rowObj, GSBool *exists) |
STRING型のロウキーを指定して、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByInteger (GSContainer *container, int32_t key, GSBool *exists) |
INTEGER型のロウキーに対応するロウを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByLong (GSContainer *container, int64_t key, GSBool *exists) |
LONG型のロウキーに対応するロウを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByTimestamp (GSContainer *container, GSTimestamp key, GSBool *exists) |
TIMESTAMP型のロウキーに対応するロウを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowByString (GSContainer *container, const GSChar *key, GSBool *exists) |
STRING型のロウキーに対応するロウを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowGeneral (GSContainer *container, GSRowKey *keyObj, GSRow *rowObj, GSBool forUpdate, GSBool *exists) |
指定のGSRowKeyに対応するロウの内容をGSRowとして取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutRowGeneral (GSContainer *container, GSRowKey *keyObj, GSRow *rowObj, GSBool *exists) |
必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteRowGeneral (GSContainer *container, GSRowKey *keyObj, GSBool *exists) |
指定のロウキーに対応するロウを削除します。More... | |
Detailed Description
Typedef Documentation
typedef struct GSContainerTag GSContainer |
同一タイプのロウ集合からなるGridDBの構成要素に対しての、管理機能を提供します。
- ロウオブジェクトを入出力の基本単位として、各種管理機能を提供します。ロウオブジェクトとGridDB上のロウは、指定のロウオブジェクト型とGridDB上のスキーマとの対応関係に基づいて、相互にマッピングされます。
- GridDB上のスキーマを構成する各カラムは、対応するGS_STRUCT_BINDINGの内容に基づき決定されます。1つのコンテナは1つ以上のカラムにより構成されます。
- 1つのコンテナのカラム間で、ASCIIの大文字・小文字表記だけが異なる名前のものを複数定義することはできません。その他、コンテナ定義におけるカラム名の文字種や長さ、カラム数には制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。特に記載のない限り、カラム名を指定する操作では、ASCIIの大文字・小文字表記の違いは区別されません。
- カラムの型と、ロウオブジェクト内の各値の型との対応は、それぞれ次の通りです。
カラム型 ロウオブジェクト内の各値の型 STRING GSChar* BOOL GSBool BYTE int8_t SHORT int16_t INTEGER int32_t LONG int64_t FLOAT float DOUBLE double TIMESTAMP GSTimestamp GEOMETRY GSChar* BLOB GSBlob STRING配列 GSChar** BOOL配列 GSBool* BYTE配列 int8_t* SHORT配列 int16_t* INTEGER配列 int32_t* LONG配列 int64_t* FLOAT配列 float* DOUBLE配列 double* TIMESTAMP配列 GSTimestamp*
- フィールドの値の表現範囲やサイズには制限があります。具体的には、付録の章の値の範囲の説明、ならびに、GridDBテクニカルリファレンスを参照してください。制限に反する値をコンテナに格納することはできません。
- ロウキーとして許可されている型や、ロウキーに対応するカラムの有無、ロウ更新の可否といった制約は、このコンテナ型から派生した個別の型の定義によって異なります。
- GridDB上のロウにおけるNULLは、NOT NULL制約が設定されていない限り保持することができます。NULLは、GSRowを通じて格納や取り出しを行うことができます。一方、GS_STRUCT_BINDINGと対応付くロウオブジェクトにおいては、常に後述の空の値にマッピングされます。
- ロウオブジェクト型におけるNOT NULL制約は、GS_TYPE_OPTION_NULLABLEならびにGS_TYPE_OPTION_NOT_NULLにより明示的に指定できます。NOT NULL制約がいずれの指定対象にも指定されていない場合、ロウキー以外のカラムはNOT NULL制約なしであるとみなされます。ロウキーは暗黙的にNOT NULL制約が設定された状態となっており、この制約を外すような指定はできません。また、同一指定対象での矛盾したNOT NULL制約は指定できません。NOT NULL制約は、GSColumnInfoTag::optionsを通じて指定することができます。
- 空の値は、GSRowの作成など各種操作の初期値などとして用いられることのある、フィールド値の一種です。以下のように、カラム型ごとに値が定義されています。
カラム型 空の値 STRING ""
(長さ0の文字列)BOOL 偽(GS_FALSE) 数値型 0
TIMESTAMP 1970-01-01T00:00:00Z
GEOMETRY POINT(EMPTY)
BLOB 長さ0のBLOBデータ 配列型 要素数0の配列
- トランザクション処理では、デフォルトで自動コミットモードが有効になっています。自動コミットモードでは、変更操作は逐次確定し、明示的に取り消すことができません。手動コミットモードにおいて、GSContainerインスタンスを介した操作によりクラスタノード上でエラーが検出された場合、コミット前の更新操作はすべて取り消されます。トランザクション分離レベルはREAD COMMITTEDのみをサポートします。ロック粒度は、コンテナの種別によって異なります。
- ロウの更新・追加・削除、ならびに更新用ロック獲得を行った場合、内部でトランザクションが生成されます。このトランザクションには、有効期限が存在します。これらの操作をあるGSContainerインスタンスに対してはじめて行った時刻を起点として、GridDB上で定められている期間だけ経過した後に、さらに同様の操作やトランザクション操作を行おうとすると、該当するGSContainerインスタンスを介した以降の操作は常に失敗するようになります。
- あるコンテナへの操作要求に対するクラスタノード上での処理が開始され、終了するまでの間、同一のコンテナに対する操作が待機させられる場合があります。ここでの操作には、コンテナのスキーマや索引などの定義変更、コンテナ情報の参照、ロウ操作などが含まれます。一貫性レベルが
IMMEDIATE
のGSGridStoreインスタンスを通じてコンテナを操作する場合、同一のコンテナに対するIMMEDIATE
設定での他の操作処理の途中、原則としては待機させられます。また、コンテナに対する他の操作処理の途中の状態に基づいて処理が行われることは、原則としてはありません。例外事項については、個別の操作ごとの説明を参照してください。
Function Documentation
GS_DLL_PUBLIC GSResult GS_API_CALL gsAbort | ( | GSContainer * | container | ) |
手動コミットモードにおいて、現在のトランザクションの操作結果を元に戻し、新たなトランザクションを開始します。
- Parameters
-
[in] container 処理対象のGSContainer
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 自動コミットモードでないにもかかわらず呼び出した場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除、接続障害が発生した場合
- 引数に
NULL
が指定された場合
GS_DLL_PUBLIC void GS_API_CALL gsCloseContainer | ( | GSContainer ** | container, |
GSBool | allRelated | ||
) |
指定のGSContainerインスタンスについて、必要に応じこのインスタンスならびに関連するリソースを解放します。
- トランザクションを保持している場合、未コミットの更新内容はすべて元に戻されます。
- この処理を行うために接続障害が発生したとしても、ローカルリソースの解放処理は適宜実施されます。ただし、GridDB上のトランザクション状態などは状態などは残る可能性があります。
- Parameters
-
[in,out] container クローズ対象のGSContainerインスタンスを指しているポインタ変数へのポインタ値。クローズすると、ポインタ変数に NULL
が設定されます。以後、解放したGSContainerインスタンスにアクセスしてはなりません。ポインタ値またはポインタ変数の値がNULL
の場合は、クローズ処理を行いません。[in] allRelated 指定のGSContainerと関連する下位のリソースのうち、未クローズのものすべてをクローズするかどうか。関連する下位のリソースとは、指定のGSContainerを介して取得したGSQuery、GSAggregationResult、ならびに、これらのリソースと関連する下位のリソースのことを指します。GS_FALSEを指定した場合、指定のGSContainerを介して取得したリソースを個別にクローズする必要があり、すべてクローズした時点で指定のGSContainer自体のリソースが解放されます。
GS_DLL_PUBLIC GSResult GS_API_CALL gsCommit | ( | GSContainer * | container | ) |
手動コミットモードにおいて、現在のトランザクションにおける操作結果を確定させ、新たなトランザクションを開始します。
- Parameters
-
[in] container 処理対象のGSContainer
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 自動コミットモードでないにもかかわらず呼び出した場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除、接続障害が発生した場合
- 引数に
NULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsCreateIndex | ( | GSContainer * | container, |
const GSChar * | columnName, | ||
GSIndexTypeFlags | flags | ||
) |
指定された名前のカラムに対し、指定された種別で名前のない索引を作成します。
- カラム名と種別のみが設定されたGSIndexInfoを指定してgsCreateIndexDetailを呼び出した場合と同様に振る舞います。ただし、
flags
にデフォルト種別を含め一つも種別が指定されていない場合、索引は作成されません。
- Parameters
-
[in] container 処理対象のGSContainer [in] columnName 処理対象のカラムの名前 [in] flags 作成する索引種別のフラグ値のビット和。指定できる値はgsCreateIndexDetailの場合と同様です
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のカラム名と種別がgsCreateIndexDetailの規則に合致しない場合
- この処理のタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
flags
以外の引数にNULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsCreateRowByContainer | ( | GSContainer * | container, |
GSRow ** | row | ||
) |
指定のコンテナのカラムレイアウトに基づき、ロウオブジェクトを新規作成します。
- 作成されるGSRowの各フィールドにはgsCreateRowByStoreにより作成した場合と同様に既定の初期値が設定されます。
- Parameters
-
[in] container 処理対象のGSContainer [out] row GSRowインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsCreateTrigger | ( | GSContainer * | container, |
const GSTriggerInfo * | info | ||
) |
トリガを設定します。
- 指定のコンテナに対して特定の種別の更新操作が行われた場合に、指定のURIに通知が送信されるようになります。指定されたトリガと同名のトリガが存在した場合、設定内容が上書きされます。
- トリガ設定内容の詳細は、GSTriggerInfoの定義を参照してください。トリガ名、トリガ種別、通知条件、通知先URI、通知内容の詳細は以下の通りです。
- トリガ名
- トリガ種別や通知条件などの違いによらず、1つのコンテナのトリガ間で、ASCIIの大文字・小文字表記を含め同一の名前のものを複数定義することはできません。その他、トリガの定義において使用できるトリガ名の文字種や長さには制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。特に記載のない限り、トリガ名を指定する操作では、ASCIIの大文字・小文字表記の違いが区別されます。
- トリガ種別
- 次のトリガ種別をサポートします。
名称 説明 REST コンテナに指定された種別の更新操作が行われた際に、指定されたURIにREST(HTTP POSTメソッド)で通知するトリガです。 Java Message Service(JMS) コンテナに指定された種別の更新操作が行われた際に、指定されたURIのJMSサーバへJMSメッセージを通知するトリガです。JMSプロバイダとしてApache ActiveMQを使用します。
- 通知条件
- 指定のコンテナに対するロウ新規作成/更新(gsPutRow、gsPutMultipleRows、gsPutMultipleContainerRows、gsUpdateCurrentRow)・削除(gsDeleteRow、gsDeleteCurrentRow)操作命令の実行直後に通知を行います。監視対象として複数の操作が指定された場合は、そのうちのいずれかが実行された際に通知を行います。
- 通知を行った時点でのレプリケーションの完了は保証されません。自動コミットモード無効で実行されたロウ新規作成/更新・削除命令に対応する通知については、通知を行った時点でトランザクションが未コミットであったり、通知後にトランザクションがアボートされたりした場合、通知を受けた時点で通知に含まれるデータが取得できないことがあります。
- 複数ロウ一括操作の場合、1件のロウ操作ごとに通知を行います。指定されたURIに通知を行っても一定時間以内に応答がない場合、タイムアウトし再送は行いません。GridDBクラスタに障害が発生した場合、ある更新操作に対応する通知が行われないことのほか、複数回通知されることがあります。
- 通知先URI
- 通知先URIは次の書式で記述します。ただし、トリガ種別がRESTの場合、メソッド名にはhttpのみ指定できます。(メソッド名)://(ホスト名):(ポート番号)/(パス)
- 通知内容
- 更新が行われたコンテナ名、更新操作名、更新されたロウデータの指定したカラムの値を通知します。更新操作名は、ロウ新規作成/更新では
"put"
、削除では"delete"
となります。
- 通知する値は、ロウ新規作成では新規作成直後、更新では更新後、削除では削除前のロウデータについての、指定カラムの値となります。カラムの型がTIMESTAMPの場合、
1970-01-01T00:00:00Z
からの経過ミリ秒を示す整数が値として設定されます。カラムの型が、BLOB型、GEOMETRY型、配列型の場合、空文字列が値として設定されます。
- 通知方法―RESTの場合
- 以下のようなJSON文字列を、MIMEタイプapplication/jsonで送信します。{"container" : "(コンテナ名)","event" : "(更新操作名)","row" : {"(カラム名)" : (カラムデータ),"(カラム名)" : (カラムデータ),...}}
- 通知方法―JMSの場合
- javax.jms.TextMessageを、指定されたデスティネーション種別・デスティネーション名で送信します。
- コンテナ名は、
javax.jms.Message::setStringProperty("@container", "(コンテナ名)")
で設定されます。更新操作名は、javax.jms.Message::setStringProperty("@event", "(更新操作名)")
で設定されます。
- カラムの値は、カラムの型に応じた
javax.jms.Message::setXXXProperty("(カラム名)", (カラムデータ))
で設定されます。
- トリガが設定されているコンテナに対してgsPutCollection、gsPutTimeSeriesなどによりカラムレイアウトが変更された際に、トリガの通知対象となっているカラムの削除または名称変更があった場合、該当するカラムはトリガの通知対象から削除されます。
- GridDBからの通知の際に、設定されている通知先URIへのリクエストに対応するサーバが応答しなかった場合、タイムアウト時刻までの待機処理が発生します。この待機処理は、このコンテナならびに他の一部のコンテナの更新に対する通知が遅れる要因となります。したがって、無効となった通知先URIを持つトリガはgsDropTriggerにより削除することが推奨されます。
- 一つのコンテナに対して設定できるトリガの最大数、ならびに、トリガの各種設定値の上限については、GridDBテクニカルリファレンスを参照してください。
- Parameters
-
[in] container 設定対象のGSContainer [in] info 設定対象のトリガ情報
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- トリガ名が
NULL
空、またはその他の規則に合致しない場合 - 監視対象更新操作の指定がない場合
- 通知先のURIが規定の構文に合致しない場合
- トリガ種別でJMSが指定され、かつJMSデスティネーション種別が
NULL
、または空、または指定の書式に合致しない場合 - トリガ種別でJMSが指定され、かつJMSデスティネーション名が
NULL
、または空の場合 - この処理のタイムアウト、指定のコンテナの削除、接続障害が発生した場合
- 引数に
NULL
が指定された場合
- トリガ名が
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRow | ( | GSContainer * | container, |
const void * | key, | ||
GSBool * | exists | ||
) |
指定のロウキーに対応するロウを削除します。
- ロウキーに対応するカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。
- ただし、コンテナの種別ならびに設定によっては、制限が設けられています。圧縮オプションが設定された状態の時系列に対しては使用できません。
- 手動コミットモードの場合、対象のロウはロックされます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトのロウキーの型と指定のロウキーの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキーが格納された変数へのポインタ値。GSContainerにおいて定義されているコンテナ上のロウキーの型とこの引数の型との関係は、gsGetRowの場合と同様です。 [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するカラムが存在しない場合
- 特定コンテナ固有の制限に反する操作を行った場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして指定された場合
exists
以外の引数にNULL
が指定された場合。また、key
に対応する文字列キーのポインタ値がNULL
の場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByInteger | ( | GSContainer * | container, |
int32_t | key, | ||
GSBool * | exists | ||
) |
INTEGER型のロウキーに対応するロウを削除します。
- ロウキーに対応するINTEGER型のカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。
- 手動コミットモードの場合、対象のロウはロックされます。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するINTEGER型のカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- See Also
- gsDeleteRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByLong | ( | GSContainer * | container, |
int64_t | key, | ||
GSBool * | exists | ||
) |
LONG型のロウキーに対応するロウを削除します。
- ロウキーに対応するLONG型のカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。
- 手動コミットモードの場合、対象のロウはロックされます。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するLONG型のカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- See Also
- gsDeleteRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByString | ( | GSContainer * | container, |
const GSChar * | key, | ||
GSBool * | exists | ||
) |
STRING型のロウキーに対応するロウを削除します。
- ロウキーに対応するSTRING型のカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。
- 手動コミットモードの場合、対象のロウはロックされます。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するSTRING型のカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして指定された場合
- See Also
- gsDeleteRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowByTimestamp | ( | GSContainer * | container, |
GSTimestamp | key, | ||
GSBool * | exists | ||
) |
TIMESTAMP型のロウキーに対応するロウを削除します。
- ロウキーに対応するTIMESTAMP型のカラムが存在する場合のみ使用できます。対応するロウが存在しない場合は何も変更しません。
- ただし、コンテナの種別ならびに設定によっては、制限が設けられています。圧縮オプションが設定された状態の時系列に対しては使用できません。
- 手動コミットモードの場合、対象のロウはロックされます。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するTIMESTAMP型のカラムが存在しない場合
- 特定コンテナ固有の制限に反する操作を行った場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして指定された場合
- See Also
- gsDeleteRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsDeleteRowGeneral | ( | GSContainer * | container, |
GSRowKey * | keyObj, | ||
GSBool * | exists | ||
) |
指定のロウキーに対応するロウを削除します。
- ロウキーを持つコンテナであれば、ロウキーを構成するカラム数やカラム型によらず使用できます。対応するロウが存在しない場合は何も変更しません。
- ただし、コンテナの種別ならびに設定によっては、制限が設けられています。圧縮オプションが設定された状態の時系列に対しては使用できません。
- 手動コミットモードの場合、対象のロウはロックされます。
- Parameters
-
[in] container 処理対象のGSContainer [in] keyObj 処理対象のロウキー [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するカラムが存在しない場合
- 特定コンテナ固有の制限に反する操作を行った場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして指定された場合
exists
以外の引数にNULL
が指定された場合。また、key
に対応する文字列キーのポインタ値がNULL
の場合
- Since
- 4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsDropIndex | ( | GSContainer * | container, |
const GSChar * | columnName, | ||
GSIndexTypeFlags | flags | ||
) |
指定された名前のカラムのうち、指定された種別の索引のみを削除します。
- カラム名と種別のみが設定されたGSIndexInfoを指定してgsDropIndexDetailを呼び出した場合と同様に振る舞います。ただし、
flags
にデフォルト種別を含め一つも種別が指定されていない場合、いずれの索引も削除対象にはなりません。
- Parameters
-
[in] container 処理対象のGSContainer [in] columnName 処理対象のカラムの名前 [in] flags 削除する索引種別のフラグ値のビット和。指定できる値はgsDropIndexDetailの場合と同様です
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のカラム名と種別がgsDropIndexDetailの規則に合致しない場合
- この処理のタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
flags
以外の引数にNULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsDropTrigger | ( | GSContainer * | container, |
const GSChar * | name | ||
) |
トリガを削除します。
- 指定された名前のトリガが存在しない場合は何も削除しません。
- Parameters
-
[in] container 削除対象のGSContainer [in] name 削除対象のトリガ名
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- この処理のタイムアウト、指定のコンテナの削除、接続障害が発生した場合
- 引数に
NULL
が指定された場合
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsFlush | ( | GSContainer * | container | ) |
これまでの更新結果をSSDなどの不揮発性記憶媒体に書き出し、すべてのクラスタノードが突然停止したとしても内容が失われないようにします。
- 通常より信頼性が要求される処理のために使用します。ただし、頻繁に実行すると性能低下を引き起こす可能性が高まります。
- 書き出し対象のクラスタノードの範囲など、挙動の詳細はGridDB上の設定によって変化します。
- Parameters
-
[in] container 処理対象のGSContainer
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- この処理のタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- 引数に
NULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetContainerType | ( | GSContainer * | container, |
GSContainerType * | type | ||
) |
指定のコンテナの種別を取得します。
- 現バージョンでは、インスタンス生成時点で常に種別が確定するため、この操作によりGridDBクラスタに問い合わせを行うことはありません。
- Parameters
-
[in] container 処理対象のGSContainer [out] type 指定のコンテナの種別を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_CONTAINER_COLLECTIONが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRow | ( | GSContainer * | container, |
const void * | key, | ||
void * | rowObj, | ||
GSBool * | exists | ||
) |
ロウキーに対応するロウの内容を取得します。
- ロウキーに対応するカラムが存在する場合のみ使用できます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。同様に、ロウキーの型が一致しない場合の動作も未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSContainerと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキーが格納された変数へのポインタ値。GSContainerにおいて定義されているコンテナ上のロウキーの型とこの引数の型との関係は次のようになります。 コンテナ上の型 引数の型 STRING GSChar** ※GSChar*との取り違えに注意 INTEGER int32_t* LONG int64_t* TIMESTAMP GSTimeStamp* 複合ロウキー GSRowKey* [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして設定されていた場合
exists
以外の引数にNULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowByInteger | ( | GSContainer * | container, |
int32_t | key, | ||
void * | rowObj, | ||
GSBool | forUpdate, | ||
GSBool * | exists | ||
) |
INTEGER型のロウキーに対応するロウの内容を取得します。
- ロウキーに対応するINTEGER型のカラムが存在する場合のみ使用できます。
- 手動コミットモードにおいて更新用ロックを要求した場合、トランザクションが終了するかタイムアウトするまで対象ロウのロックを維持します。ロックされたロウに対する他のトランザクションからの更新・削除操作は、このトランザクションが終了するかタイムアウトするまで待機するようになります。対象ロウが削除されたとしても、ロックは維持されます。
- 自動コミットモードの場合、更新用ロックを要求できません。
- 取得結果のロウオブジェクトに含まれる文字列や配列などの可変長サイズのデータのリソースは、指定のGSContainerを直接介した次回のロウオブジェクト取得処理を実行するまで維持されます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSContainerと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [in] forUpdate 更新用ロックを要求するかどうか [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するINTEGER型のカラムが存在しない場合
- 自動コミットモードでないにもかかわらず、更新用ロックを要求しようとした場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして設定されていた場合
exists
以外の引数にNULL
が指定された場合
- See Also
- gsGetRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowByLong | ( | GSContainer * | container, |
int64_t | key, | ||
void * | rowObj, | ||
GSBool | forUpdate, | ||
GSBool * | exists | ||
) |
LONG型のロウキーに対応するロウの内容を取得します。
- ロウキーに対応するLONG型のカラムが存在する場合のみ使用できます。
- 手動コミットモードにおいて更新用ロックを要求した場合、トランザクションが終了するかタイムアウトするまで対象ロウのロックを維持します。ロックされたロウに対する他のトランザクションからの更新・削除操作は、このトランザクションが終了するかタイムアウトするまで待機するようになります。対象ロウが削除されたとしても、ロックは維持されます。
- 自動コミットモードの場合、更新用ロックを要求できません。
- 取得結果のロウオブジェクトに含まれる文字列や配列などの可変長サイズのデータのリソースは、指定のGSContainerを直接介した次回のロウオブジェクト取得処理を実行するまで維持されます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSContainerと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [in] forUpdate 更新用ロックを要求するかどうか [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するLONG型のカラムが存在しない場合
- 自動コミットモードでないにもかかわらず、更新用ロックを要求しようとした場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして設定されていた場合
exists
以外の引数にNULL
が指定された場合
- See Also
- gsGetRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowByString | ( | GSContainer * | container, |
const GSChar * | key, | ||
void * | rowObj, | ||
GSBool | forUpdate, | ||
GSBool * | exists | ||
) |
STRING型のロウキーに対応するロウの内容を取得します。
- ロウキーに対応するSTRING型のカラムが存在する場合のみ使用できます。
- 手動コミットモードにおいて更新用ロックを要求した場合、トランザクションが終了するかタイムアウトするまで対象ロウのロックを維持します。ロックされたロウに対する他のトランザクションからの更新・削除操作は、このトランザクションが終了するかタイムアウトするまで待機するようになります。対象ロウが削除されたとしても、ロックは維持されます。
- 自動コミットモードの場合、更新用ロックを要求できません。
- 取得結果のロウオブジェクトに含まれる文字列や配列などの可変長サイズのデータのリソースは、指定のGSContainerを直接介した次回のロウオブジェクト取得処理を実行するまで維持されます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSContainerと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [in] forUpdate 更新用ロックを要求するかどうか [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するSTRING型のカラムが存在しない場合
- 自動コミットモードでないにもかかわらず、更新用ロックを要求しようとした場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして設定されていた場合
exists
以外の引数にNULL
が指定された場合
- See Also
- gsGetRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowByTimestamp | ( | GSContainer * | container, |
GSTimestamp | key, | ||
void * | rowObj, | ||
GSBool | forUpdate, | ||
GSBool * | exists | ||
) |
TIMESTAMP型のロウキーに対応するロウの内容を取得します。
- ロウキーに対応するTIMESTAMP型のカラムが存在する場合のみ使用できます。
- 手動コミットモードにおいて更新用ロックを要求した場合、トランザクションが終了するかタイムアウトするまで対象ロウのロックを維持します。ロックされたロウに対する他のトランザクションからの更新・削除操作は、このトランザクションが終了するかタイムアウトするまで待機するようになります。対象ロウが削除されたとしても、ロックは維持されます。
- 自動コミットモードの場合、更新用ロックを要求できません。
- 取得結果のロウオブジェクトに含まれる文字列や配列などの可変長サイズのデータのリソースは、指定のGSContainerを直接介した次回のロウオブジェクト取得処理を実行するまで維持されます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSContainerと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキー [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [in] forUpdate 更新用ロックを要求するかどうか [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するTIMESTAMP型のカラムが存在しない場合
- 自動コミットモードでないにもかかわらず、更新用ロックを要求しようとした場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして設定されていた場合
exists
以外の引数にNULL
が指定された場合
- See Also
- gsGetRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowForUpdate | ( | GSContainer * | container, |
const void * | key, | ||
void * | rowObj, | ||
GSBool * | exists | ||
) |
ロウキーに対応するロウについて、更新用ロックを獲得し内容を取得します。
- ロウキーに対応するカラムが存在する場合、かつ、手動コミットモードの場合のみ使用できます。
- トランザクションが終了するかタイムアウトするまで対象ロウのロックを維持します。ロックされたロウに対する他のトランザクションからの更新・削除操作は、このトランザクションが終了するかタイムアウトするまで待機するようになります。対象ロウが削除されたとしても、ロックは維持されます。
- 取得結果のロウオブジェクトに含まれる文字列や配列などの可変長サイズのデータのリソースは、指定のGSContainerを直接介した次回のロウオブジェクト取得処理を実行するまで維持されます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。同様に、ロウキーの型が一致しない場合の動作も未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSContainerと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキーが格納された変数へのポインタ値。GSContainerにおいて定義されているコンテナ上のロウキーの型とこの引数の型との関係は、gsGetRowの場合と同様です。 [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するカラムが存在しない場合
- 自動コミットモードの場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして設定されていた場合
exists
以外の引数にNULL
が指定された場合
- See Also
- gsGetRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowGeneral | ( | GSContainer * | container, |
GSRowKey * | keyObj, | ||
GSRow * | rowObj, | ||
GSBool | forUpdate, | ||
GSBool * | exists | ||
) |
指定のGSRowKeyに対応するロウの内容をGSRowとして取得します。
- 手動コミットモードにおいて更新用ロックを要求した場合、トランザクションが終了するかタイムアウトするまで対象ロウのロックを維持します。ロックされたロウに対する他のトランザクションからの更新・削除操作は、このトランザクションが終了するかタイムアウトするまで待機するようになります。対象ロウが削除されたとしても、ロックは維持されます。
- 自動コミットモードの場合、更新用ロックを要求できません。
- Parameters
-
[in] container 処理対象のGSContainer [in] keyObj 処理対象のロウキー [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [in] forUpdate 更新用ロックを要求するかどうか [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーが存在しない場合
- 自動コミットモードでないにもかかわらず、更新用ロックを要求しようとした場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーとして設定されていた場合
exists
以外の引数にNULL
が指定された場合
- See Also
- gsGetRow
- Since
- 4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutMultipleRows | ( | GSContainer * | container, |
const void *const * | rowObjs, | ||
size_t | rowCount, | ||
GSBool * | exists | ||
) |
指定のロウオブジェクト集合に基づき、任意個数のロウをまとめて新規作成または更新します。
- 指定のロウオブジェクト集合の各ロウについて、配列要素の順序にしたがってgsPutRowを呼び出した場合と同様に新規作成または更新操作を行います。
- 指定のロウオブジェクト集合内に同一のロウキーを持つ複数のロウが存在する場合、ロウオブジェクト集合を構成する配列要素の順序を基準として、同一のロウキーを持つ最も後方にあるロウオブジェクトの内容が反映されます。
- コンテナの種別ならびに設定によっては、操作できるロウの内容についてgsPutRowと同様の制限が設けられています。具体的な制限事項は、個別のコンテナ種別の定義を参照してください。
- 手動コミットモードの場合、対象のロウがロックされます。
- 自動コミットモードのときに、コンテナならびにロウに対する処理の途中でエラーが発生した場合、コンテナの一部のロウに対する操作結果のみが反映されたままとなることがあります。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。同様に、ロウキーの型が一致しない場合の動作も未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] container 処理対象のGSContainer [in] rowObjs 新規作成するロウ集合の内容と対応するロウオブジェクト列。このロウオブジェクト列は、個々のロウオブジェクトへのポインタ値の配列により構成されます。 rowCount
が0
の場合、この配列を参照することはなく、NULL
を指定することもできます。[in] rowCount 新規作成するロウの個数。 0
の場合、ロウを新規作成せず正常に処理を終えます。[out] exists 現バージョンでは、ポインタ値が NULL
ではない限り常にGS_FALSEが格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 特定コンテナ種別固有の制限に反する操作を行った場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がロウオブジェクトに含まれていた場合
container
がNULL
の場合exists
以外のポインタ型引数にNULL
が指定された場合。また、指定のロウオブジェクト内のフィールドについて、文字列など可変長サイズのデータへのポインタ値にNULL
が含まれていた場合rowCount
が正の値であるにもかかわらず、rowObjs
にNULL
が指定された場合- ロウオブジェクト列を構成する配列要素に
NULL
が含まれていた場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRow | ( | GSContainer * | container, |
const void * | key, | ||
const void * | rowObj, | ||
GSBool * | exists | ||
) |
必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。
- ロウキーに対応するカラムが存在する場合、ロウキーとコンテナの状態を基に、ロウを新規作成するか、更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクトとは別にロウキーを指定した場合、ロウオブジェクト内のロウキーより優先して使用されます。
- ロウキーに対応するカラムを持たない場合、常に新規のロウを作成します。別途指定するロウキーには、常に
NULL
を指定します。
- ただし、コンテナの種別ならびに設定によっては、制限が設けられています。指定のコンテナが時系列であり、圧縮オプションが設定されている場合、以下の操作のみを条件付きで行うことができます。
- 新規作成
- 最も新しい時刻を持つ既存ロウより新しい時刻のロウを指定した場合のみ
- 既存ロウの内容の保持
- 最も新しい時刻を持つ既存ロウの時刻が指定の時刻と一致する場合のみ
- 新規作成
- 手動コミットモードの場合、対象のロウはロックされます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。同様に、ロウキーの型が一致しない場合の動作も未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキーが格納された変数へのポインタ値。GSContainerにおいて定義されているコンテナ上のロウキーの型とこの引数の型との関係は、gsGetRowの場合と同様です。ロウキーに対応するカラムが存在しない場合、もしくは指定のロウオブジェクト内のキーを用いる場合は NULL
を指定します。[in] rowObj 新規作成または更新するロウの内容と対応するロウオブジェクト [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するカラムが存在しないにもかかわらず、キーが指定された場合
- 特定コンテナ固有の制限に反する操作を行った場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーまたはロウオブジェクトに含まれていた場合
exists
以外の引数にNULL
が指定された場合。また、指定のロウオブジェクト内のロウキー以外のフィールドについて、文字列など可変長サイズのデータへのポインタ値にNULL
が含まれていた場合。もしくは、ロウキーに対応するカラムが存在しkey
がNULL
であるにもかかわらず、ロウキーのフィールドに同様にNULL
が含まれていた場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByInteger | ( | GSContainer * | container, |
int32_t | key, | ||
const void * | rowObj, | ||
GSBool * | exists | ||
) |
INTEGER型のロウキーを指定して、ロウを新規作成または更新します。
- ロウキーに対応するINTEGER型のカラムが存在する場合のみ使用できます。
- ロウキーとコンテナの状態を基に、ロウを新規作成するか更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクト内のロウキーは無視されます。
- 手動コミットモードの場合、対象のロウはロックされます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキー [in] rowObj 新規作成または更新するロウの内容と対応するロウオブジェクト [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するINTEGER型のカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がロウオブジェクトに含まれていた場合
exists
以外の引数にNULL
が指定された場合。また、指定のロウオブジェクト内のロウキー以外のフィールドについて、文字列など可変長サイズのデータへのポインタ値にNULL
が含まれていた場合。もしくは、ロウキーに対応するカラムが存在しkey
がNULL
であるにもかかわらず、ロウキーのフィールドに同様にNULL
が含まれていた場合
- See Also
- gsPutRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByLong | ( | GSContainer * | container, |
int64_t | key, | ||
const void * | rowObj, | ||
GSBool * | exists | ||
) |
LONG型のロウキーを指定して、ロウを新規作成または更新します。
- ロウキーに対応するLONG型のカラムが存在する場合のみ使用できます。
- ロウキーとコンテナの状態を基に、ロウを新規作成するか更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクト内のロウキーは無視されます。
- 手動コミットモードの場合、対象のロウはロックされます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキー [in] rowObj 新規作成または更新するロウの内容と対応するロウオブジェクト [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するLONG型のカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がロウオブジェクトに含まれていた場合
exists
以外の引数にNULL
が指定された場合。また、指定のロウオブジェクト内のロウキー以外のフィールドについて、文字列など可変長サイズのデータへのポインタ値にNULL
が含まれていた場合。もしくは、ロウキーに対応するカラムが存在しkey
がNULL
であるにもかかわらず、ロウキーのフィールドに同様にNULL
が含まれていた場合
- See Also
- gsPutRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByString | ( | GSContainer * | container, |
const GSChar * | key, | ||
const void * | rowObj, | ||
GSBool * | exists | ||
) |
STRING型のロウキーを指定して、ロウを新規作成または更新します。
- ロウキーに対応するSTRING型のカラムが存在する場合のみ使用できます。
- ロウキーとコンテナの状態を基に、ロウを新規作成するか更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクト内のロウキーは無視されます。
- 手動コミットモードの場合、対象のロウはロックされます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキー [in] rowObj 新規作成または更新するロウの内容と対応するロウオブジェクト [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するSTRING型のカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーまたはロウオブジェクトに含まれていた場合
exists
以外の引数にNULL
が指定された場合。また、指定のロウオブジェクト内のロウキー以外のフィールドについて、文字列など可変長サイズのデータへのポインタ値にNULL
が含まれていた場合
- See Also
- gsPutRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowByTimestamp | ( | GSContainer * | container, |
GSTimestamp | key, | ||
const void * | rowObj, | ||
GSBool * | exists | ||
) |
TIMESTAMP型のロウキーを指定して、ロウを新規作成または更新します。
- ロウキーに対応するTIMESTAMP型のカラムが存在する場合のみ使用できます。
- ロウキーとコンテナの状態を基に、ロウを新規作成するか更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクト内のロウキーは無視されます。
- ただし、コンテナの種別ならびに設定によっては、制限が設けられています。指定のコンテナが時系列であり、圧縮オプションが設定されている場合、以下の操作のみを条件付きで行うことができます。
- 新規作成
- 最も新しい時刻を持つ既存ロウより新しい時刻のロウを指定した場合のみ
- 既存ロウの内容の保持
- 最も新しい時刻を持つ既存ロウの時刻が指定の時刻と一致する場合のみ
- 新規作成
- 手動コミットモードの場合、対象のロウはロックされます。
- Attention
- 指定のGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] container 処理対象のGSContainer [in] key 処理対象のロウキー [in] rowObj 新規作成または更新するロウの内容と対応するロウオブジェクト [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するTIMESTAMP型のカラムが存在しない場合
- 特定コンテナ固有の制限に反する操作を行った場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーまたはロウオブジェクトに含まれていた場合
exists
以外の引数にNULL
が指定された場合。また、指定のロウオブジェクト内のフィールドについて、文字列など可変長サイズのデータへのポインタ値にNULL
が含まれていた場合
- See Also
- gsPutRow
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutRowGeneral | ( | GSContainer * | container, |
GSRowKey * | keyObj, | ||
GSRow * | rowObj, | ||
GSBool * | exists | ||
) |
必要に応じ別途ロウキーを指定して、ロウを新規作成または更新します。
- ロウキーを構成するカラム数やカラム型によらず使用できます。
- ロウキーに対応するカラムが存在する場合、ロウキーとコンテナの状態を基に、ロウを新規作成するか、更新するかを決定します。この際、対応するロウがコンテナ内に存在しない場合は新規作成、存在する場合は更新します。ロウオブジェクトとは別にロウキーを指定した場合、ロウオブジェクト内のロウキーより優先して使用されます。
- ロウキーに対応するカラムを持たない場合、常に新規のロウを作成します。この場合、別途指定するロウキーには、常に
NULL
を指定します。
- ただし、コンテナの種別ならびに設定によっては、gsPutRowと同様の制限が設けられています。
- 手動コミットモードの場合、対象のロウはロックされます。
- Parameters
-
[in] container 処理対象のGSContainer [in] keyObj 処理対象のロウキー。ロウキーに対応するカラムが存在しない場合、もしくは指定のロウオブジェクト内のキーを用いる場合は NULL
を指定します。[in] rowObj 新規作成または更新するロウの内容と対応するロウオブジェクト [out] exists 処理対象のロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーに対応するカラムが存在しないにもかかわらず、キーが指定された場合
- 特定コンテナ固有の制限に反する操作を行った場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がキーまたはロウオブジェクトに含まれていた場合
exists
以外の引数にNULL
が指定された場合。また、指定のロウオブジェクト内のロウキー以外のフィールドについて、文字列など可変長サイズのデータへのポインタ値にNULL
が含まれていた場合。もしくは、ロウキーに対応するカラムが存在しkey
がNULL
であるにもかかわらず、ロウキーのフィールドに同様にNULL
が含まれていた場合
- See Also
- gsPutRow
- Since
- 4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsQuery | ( | GSContainer * | container, |
const GSChar * | queryString, | ||
GSQuery ** | query | ||
) |
指定のTQL文を実行するためのクエリを作成します。
- gsFetchを通じてロウ集合を求める際に更新用ロックのオプションを有効できるのは、指定のコンテナ上に実在しないロウが選択されることのないクエリのみです。たとえば、補間演算を含むクエリに対しては有効にできません。
- Parameters
-
[in] container 処理対象のGSContainer [in] queryString TQL文 [out] query GSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合
- 引数に
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetAutoCommit | ( | GSContainer * | container, |
GSBool | enabled | ||
) |
コミットモードの設定を変更します。
- 自動コミットモードでは、直接トランザクション状態を制御できず、変更操作が逐次コミットされます。自動コミットモードが有効でない場合、すなわち手動コミットモードの場合は、直接gsCommitを呼び出すかトランザクションがタイムアウトしない限り、指定のコンテナ内で同一のトランザクションが使用され続け、変更操作はコミットされません。
- 自動コミットモードが無効から有効に切り替わる際、未コミットの変更内容は暗黙的にコミットされます。コミットモードに変更がない場合、トランザクション状態は変更されません。
- Parameters
-
[in] container 処理対象のGSContainer [in] enabled 自動コミットモードを有効にするかどうか。GS_TRUEの場合は自動コミットモード、GS_FALSEの場合は手動コミットモードが有効になります。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- モード変更に伴いコミット処理を要求した際に、この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- ポインタ型引数に
NULL
が指定された場合
Typedefs | |
typedef struct GSGridStoreTag | GSGridStore |
1つのGridDBシステムが管理するデータ全体を操作するための機能を提供します。More... | |
Functions | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseGridStore (GSGridStore **store, GSBool allRelated) |
指定のGSGridStoreインスタンスについて、対応するGridDBクラスタとの接続状態を解除し、必要に応じて指定のインスタンスならびに関連するリソースを解放します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropCollection (GSGridStore *store, const GSChar *name) |
指定の名前を持つコレクションを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropTimeSeries (GSGridStore *store, const GSChar *name) |
指定の名前を持つ時系列を削除します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsGetCollection (GSGridStore *store, const GSChar *name, const GSBinding *binding, GSCollection **collection) |
指定の名前のコレクションを操作するためのGSCollectionインスタンスを取得します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsGetContainerInfo (GSGridStore *store, const GSChar *name, GSContainerInfo *info, GSBool *exists) |
指定の名前のコンテナに関する情報を取得します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsGetTimeSeries (GSGridStore *store, const GSChar *name, const GSBinding *binding, GSTimeSeries **timeSeries) |
指定の名前の時系列を操作するためのGSTimeSeriesインスタンスを取得します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutContainer (GSGridStore *store, const GSChar *name, const GSBinding *binding, const GSContainerInfo *info, GSBool modifiable, GSContainer **container) |
バインディング情報とGSContainerInfoを指定して、コンテナを新規作成または変更します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutCollection (GSGridStore *store, const GSChar *name, const GSBinding *binding, const GSCollectionProperties *properties, GSBool modifiable, GSCollection **collection) |
コレクションを新規作成または変更します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutTimeSeries (GSGridStore *store, const GSChar *name, const GSBinding *binding, const GSTimeSeriesProperties *properties, GSBool modifiable, GSTimeSeries **timeSeries) |
時系列を新規作成または変更します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutContainerGeneral (GSGridStore *store, const GSChar *name, const GSContainerInfo *info, GSBool modifiable, GSContainer **container) |
GSContainerInfoを指定して、コンテナを新規作成または変更します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetContainerGeneral (GSGridStore *store, const GSChar *name, GSContainer **container) |
GSRowによりロウ操作できるGSContainerインスタンスを取得します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutCollectionGeneral (GSGridStore *store, const GSChar *name, const GSContainerInfo *info, GSBool modifiable, GSCollection **collection) |
GSContainerInfoを指定して、コレクションを新規作成または変更します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetCollectionGeneral (GSGridStore *store, const GSChar *name, GSCollection **collection) |
GSRowによりロウ操作できるGSCollectionインスタンスを取得します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsPutTimeSeriesGeneral (GSGridStore *store, const GSChar *name, const GSContainerInfo *info, GSBool modifiable, GSTimeSeries **timeSeries) |
GSContainerInfoを指定して、時系列を新規作成または変更します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetTimeSeriesGeneral (GSGridStore *store, const GSChar *name, GSTimeSeries **timeSeries) |
GSRowによりロウ操作できるGSTimeSeriesインスタンスを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDropContainer (GSGridStore *store, const GSChar *name) |
指定の名前を持つコンテナを削除します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsCreateRowByStore (GSGridStore *store, const GSContainerInfo *info, GSRow **row) |
GSContainerInfoを指定して、GSRowを新規作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowKeyByStore (GSGridStore *store, const GSContainerInfo *info, GSRowKey **key) |
GSContainerInfoを指定して、GSRowKeyを新規作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsFetchAll (GSGridStore *store, GSQuery *const *queryList, size_t queryCount) |
指定された任意個数のGSQueryについて、可能な限りリクエスト単位を大きくしてクエリ実行とフェッチを行います。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsPutMultipleContainerRows (GSGridStore *store, const GSContainerRowEntry *entryList, size_t entryCount) |
任意のコンテナの任意個数のロウについて、可能な限りリクエスト単位を大きくして新規作成または更新操作を行います。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetMultipleContainerRows (GSGridStore *store, const GSRowKeyPredicateEntry *const *predicateList, size_t predicateCount, const GSContainerRowEntry **entryList, size_t *entryCount) |
指定の条件に基づき、任意のコンテナの任意個数・範囲のロウについて、可能な限りリクエスト単位を大きくして取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionController (GSGridStore *store, GSPartitionController **partitionController) |
対応するGridDBクラスタについてのGSPartitionControllerを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowKeyPredicate (GSGridStore *store, GSType keyType, GSRowKeyPredicate **predicate) |
指定のGSTypeをロウキーの型とする合致条件を作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowKeyPredicateGeneral (GSGridStore *store, const GSContainerInfo *info, GSRowKeyPredicate **predicate) |
指定のGSContainerInfoのロウキーに関するカラム定義に基づく、合致条件を作成します。More... | |
Detailed Description
Typedef Documentation
typedef struct GSGridStoreTag GSGridStore |
1つのGridDBシステムが管理するデータ全体を操作するための機能を提供します。
- コレクションや時系列といったコンテナの追加・削除・構成変更、ならびに、コンテナを構成するロウの操作機能を提供します。
- コンテナ種別などの違いによらず、1つのデータベースのコンテナ間で、ASCIIの大文字・小文字表記だけが異なる名前のものを複数定義することはできません。コンテナ名は、ベースコンテナ名単独、もしくは、ベースコンテナ名の後ろにノードアフィニティ名をアットマーク「@」で連結した形式で表記します。その他、コンテナの定義において使用できるコンテナ名の文字種や長さには制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。特に記載のない限り、コンテナ名を指定する操作では、ASCIIの大文字・小文字表記の違いは区別されません。
- このインタフェースまたはこのインタフェースを通じて得られたインスタンスのインタフェースに対する操作を通じてエラーが発生した場合、エラーに関する次のパラメータを取得できることがあります。
パラメータ名 説明 address 接続先クラスタノードのアドレス・ポート。ホスト名またはIPアドレスとポート番号とをコロン「:」で連結した文字列により構成されます。このインタフェースまたはこのインタフェースを通じて得られたインスタンスのインタフェースにおいて、クラスタへのアクセスを伴う操作を呼び出した際にエラーを検知すると、このパラメータを含むことがあります。このパラメータを含む場合、パラメータが示すクラスタノードにおいてエラーの詳細が記録されていることがあります。 container エラーに関係しうるコンテナの名前。任意個数のコンテナを一括して扱う操作において、そのうち少なくとも一つのコンテナについての操作を行えないことが判明した場合に、このパラメータを含むことがあります。任意個数のコンテナを扱う具体的な操作については、個々のインタフェースの定義を参照してください。クラスタノードへのリクエスト準備段階でのリソース不足など、どのコンテナの問題か特定し切れないことがあるため、どのようなエラーでもこのパラメータを含むとは限りません。また、複数のコンテナについて操作できない可能性があったとしても、パラメータに含まれるのは高々一つのコンテナの名前のみです。
- この型のポインタを第一引数とする関数のスレッド安全性は保証されません。
Function Documentation
GS_DLL_PUBLIC void GS_API_CALL gsCloseGridStore | ( | GSGridStore ** | store, |
GSBool | allRelated | ||
) |
指定のGSGridStoreインスタンスについて、対応するGridDBクラスタとの接続状態を解除し、必要に応じて指定のインスタンスならびに関連するリソースを解放します。
- Parameters
-
[in,out] store クローズ対象のGSGridStoreインスタンスを指しているポインタ変数へのポインタ値。クローズすると、ポインタ変数に NULL
が設定されます。以後、解放したGSGridStoreインスタンスにアクセスしてはなりません。ポインタ値またはポインタ変数の値がNULL
の場合は、クローズ処理を行いません。[in] allRelated 指定のGSGridStoreと関連する下位のリソースのうち、未クローズのものすべてをクローズするかどうか。関連する下位のリソースとは、指定のGSGridStoreを介して取得したGSCollection、GSTimeSeries、ならびに、これらのリソースと関連する下位のリソースのことを指します。GS_FALSEを指定した場合、指定のGSGridStoreを介して取得したリソースを個別にクローズする必要があり、すべてクローズした時点で指定のGSGridStore自体のリソースが解放されます。
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsCreateRowByStore | ( | GSGridStore * | store, |
const GSContainerInfo * | info, | ||
GSRow ** | row | ||
) |
GSContainerInfoを指定して、GSRowを新規作成します。
- GSContainerにて規定された制約に合致するよう、GSColumnInfoのリストならびにロウキーの構成を含むカラムレイアウトをGSContainerInfoに指定します。
- また、コンテナ種別をGSContainerInfoに含めることで、特定のコンテナ種別固有の制約に合致するかどうかを検証できます。ただし、作成されたGSRowに対してgsGetRowSchemaを呼び出したとしても、常に固定の値であるGS_CONTAINER_COLLECTIONがコンテナ種別として設定されたGSContainerInfoが求まります。
- 作成されたGSRowの各フィールドには、GSContainerInfoに含まれる各カラムのGSColumnInfoに基づいた初期値が設定されます。初期値として、GSColumnInfo::optionsに含まれるオプションに応じた次の値が使用されます。
オプション 初期値 GS_TYPE_OPTION_DEFAULT_VALUE_NULL NULL。ただし制約に反するロウは作成できない。 GS_TYPE_OPTION_DEFAULT_VALUE_NOT_NULL 空の値。GSContainerの定義を参照。 (上記いずれも指定なし) 現バージョンでは、GS_TYPE_OPTION_DEFAULT_VALUE_NOT_NULLが指定された場合と同様。 (上記オプションを両方指定) GSTypeOptionの定義に基づき矛盾する設定と見なされ、ロウを作成できない。
- Parameters
-
[in] store 処理対象のGSGridStore [in] info カラムレイアウトを含むコンテナ情報。その他の内容は無視される [out] row GSRowインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- コンテナ種別もしくはカラムレイアウトの制約に合致しない場合
- 引数に
NULL
が指定された場合
- See Also
- GSContainer
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsCreateRowKeyByStore | ( | GSGridStore * | store, |
const GSContainerInfo * | info, | ||
GSRowKey ** | key | ||
) |
GSContainerInfoを指定して、GSRowKeyを新規作成します。
- ロウキー以外のカラムに関する情報は無視されます。それ以外はgsCreateRowByStoreと同様に振る舞います。
- Parameters
-
[in] store 処理対象のGSGridStore [in] info カラムレイアウトを含むコンテナ情報。その他の内容は無視される [out] key GSRowKeyインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ロウキーを持たないコンテナ情報が指定された場合
- コンテナ種別もしくはカラムレイアウトの制約に合致しない場合
- 引数に
NULL
が指定された場合
- Since
- 4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsCreateRowKeyPredicate | ( | GSGridStore * | store, |
GSType | keyType, | ||
GSRowKeyPredicate ** | predicate | ||
) |
指定のGSTypeをロウキーの型とする合致条件を作成します。
- 合致条件の評価対象とするコンテナは、単一カラムからなるロウキーを持ち、かつ、そのロウキーの型は指定のGSTypeと同一の型でなければなりません。
- 設定可能なロウキーの型は、GSContainerから派生した個別のコンテナ型にて許容されている型のみです。
- 複合ロウキーなどロウキーを構成するカラムの個数によらずに合致条件を作成するには、gsCreateRowKeyPredicateGeneralを使用します。
- Parameters
-
[in] store 処理対象のGSGridStore [in] keyType 合致条件の評価対象とするロウキーの型 [out] predicate GSRowKeyPredicateインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定された型がロウキーとして常にサポート外となる場合
- ポインタ型引数に
NULL
が指定された場合
- See Also
- GSContainer
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsCreateRowKeyPredicateGeneral | ( | GSGridStore * | store, |
const GSContainerInfo * | info, | ||
GSRowKeyPredicate ** | predicate | ||
) |
指定のGSContainerInfoのロウキーに関するカラム定義に基づく、合致条件を作成します。
- 合致条件の評価対象とするコンテナは、ロウキーを持ち、かつ、指定のGSContainerInfoのロウキーに関するカラム定義と対応づく必要があります。ロウキー以外のカラム定義については対応関係の判定に用いられません。
- Parameters
-
[in] store 処理対象のGSGridStore [in] info 合致条件の判定対象とするロウキーのカラムレイアウトを含む、コンテナ情報。その他の内容は無視される [out] predicate GSRowKeyPredicateインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定の情報がロウキーを含まないか、ロウキーとして常にサポート外となる場合
- ポインタ型引数に
NULL
が指定された場合
- Since
- 4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsDropCollection | ( | GSGridStore * | store, |
const GSChar * | name | ||
) |
指定の名前を持つコレクションを削除します。
- 削除済みの場合の扱い、トランザクションの扱い、削除要求完了直後の状態に関しては、gsDropContainerと同様です。
- Parameters
-
[in] store 処理対象のGSGridStore [in] name 処理対象のコレクションの名前
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 種別の異なるコンテナを削除しようとした場合
- この処理のタイムアウト、接続障害が発生した場合
- 引数に
NULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsDropContainer | ( | GSGridStore * | store, |
const GSChar * | name | ||
) |
指定の名前を持つコンテナを削除します。
- 削除済みの場合は何も変更しません。
- 処理対象のコンテナにおいて実行中のトランザクションが存在する場合、それらの終了を待ってから削除を行います。
- コンテナの削除要求が完了した直後は、削除したコンテナの索引やロウなどのために使用されていたメモリやストレージ領域を他の用途にただちに再利用できない場合があります。また、削除処理に関連した処理がクラスタ上で動作することにより、削除前と比べて負荷が高まる期間が一定程度継続する場合があります。
- Parameters
-
[in] store 処理対象のGSGridStore [in] name 処理対象のコンテナの名前
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- この処理のタイムアウト、接続障害が発生した場合
- 引数に
NULL
が指定された場合
- See Also
- gsDropCollection
- gsTimeSeries
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsDropTimeSeries | ( | GSGridStore * | store, |
const GSChar * | name | ||
) |
指定の名前を持つ時系列を削除します。
- 削除済みの場合は何も変更しません。
- 削除済みの場合の扱い、トランザクションの扱い、削除要求完了直後の状態に関しては、gsDropContainerと同様です。
- Parameters
-
[in] store 処理対象のGSGridStore [in] name 処理対象の時系列の名前
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 種別の異なるコンテナを削除しようとした場合
- この処理のタイムアウト、接続障害が発生した場合
- 引数に
NULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsFetchAll | ( | GSGridStore * | store, |
GSQuery *const * | queryList, | ||
size_t | queryCount | ||
) |
指定された任意個数のGSQueryについて、可能な限りリクエスト単位を大きくしてクエリ実行とフェッチを行います。
- 指定のクエリ列に含まれる各GSQueryについて、個別にgsFetchを行った場合と同様にクエリ実行とフェッチを行い、結果のGSRowSetを設定します。GSQueryの実行結果を取り出すには、gsGetRowSetを使用します。ただし、個別に行う場合と違い、同一の格納先などの可能な限り大きな単位で対象ノードに対しリクエストしようとします。これにより、リストの要素数が多くなるほど、対象ノードとやりとりする回数が削減される可能性が高くなります。リスト内のGSQueryの実行順序は不定です。
- 指定のクエリ列には、指定のGSGridStoreインスタンスを介して得られた、対応するGSContainerがクローズされていないGSQueryのみを含めることができます。gsFetchと同様、各GSQueryが持つ最後に生成されたGSRowSetを介するロウ操作ができなくなります。同一のインスタンスが配列に複数含まれていた場合、それぞれ異なるインスタンスであった場合と同様に振る舞います。
- 他のコンテナ・ロウ操作と同様、異なるコンテナ間での整合性は保証されません。したがって、あるコンテナに対する処理の結果は、その処理の開始前に完了した他の操作命令の影響を受けることがあります。
- 指定のGSQueryに対応する各GSContainerのコミットモードが自動コミットモード、手動コミットモードのいずれであったとしても、使用できます。トランザクション状態はクエリの実行結果に反映されます。正常に操作が完了した場合、トランザクションタイムアウト時間に到達しない限り、対応する各GSContainerのトランザクションをアボートすることはありません。
- 各GSQueryに対する処理の途中でエラーが発生した場合、一部のGSQueryについてのみ新たなGSRowSetが設定されることがあります。また、指定のGSQueryに対応する各GSContainerの未コミットのトランザクションについては、アボートされることがあります。
- 一度に大量のロウを取得しようとした場合、GridDBノードが管理する通信バッファのサイズの上限に到達し、失敗することがあります。上限サイズについては、GridDBテクニカルリファレンスを参照してください。
- この操作によりエラーが発生した場合、エラー情報には
container
パラメータが含まれることがあります。エラーに関するパラメータの詳細は、GSGridStoreの定義を参照してください。
- Parameters
-
[in] store 処理対象のGSGridStore [in] queryList 対象とするクエリ列。GSQueryへのポインタ値の配列により構成されます。 queryCount
が0
の場合、この配列を参照することはなく、NULL
を指定することもできます。[in] queryCount 対象とするクエリ列の要素数
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のGSGridStoreインスタンスを介して得られたGSQuery以外のGSQueryが含まれていた場合
- 正しくないパラメータ・構文・命令を含むクエリを実行しようとした場合。たとえば、TQLでは、関数の引数に対応しない型のカラムを指定した場合。具体的な制約は、指定のクエリを作成する機能の各種定義を参照してください
- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、または対応するコンテナのクローズ後に呼び出された場合
queryCount
が正の値であるにもかかわらず、queryList
にNULL
が指定された場合- クエリ列を構成する配列要素に
NULL
が含まれていた場合
- See Also
- gsFetch
- Since
- 1.5
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsGetCollection | ( | GSGridStore * | store, |
const GSChar * | name, | ||
const GSBinding * | binding, | ||
GSCollection ** | collection | ||
) |
指定の名前のコレクションを操作するためのGSCollectionインスタンスを取得します。
- 指定の型とカラムレイアウトとの対応関係については、GSContainerの定義を参照してください。
- Parameters
-
[in] store 処理対象のコレクションが格納されているGSGridStore [in] name 処理対象のコレクションの名前 [in] binding ユーザ定義構造体とカラムレイアウトとのバインディング情報 [out] collection GSCollectionインスタンスを格納するためのポインタ変数へのポインタ値。指定の名前のコレクションが存在しない場合、 NULL
が設定されます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 同名の時系列が存在する場合
- 指定の型と既存のカラムレイアウトが一致しない場合
- 指定の型がロウオブジェクトの型として適切でない場合。詳しくはGSContainerの定義を参照してください。
- この処理のタイムアウト、接続障害が発生した場合
- 引数に
NULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetCollectionGeneral | ( | GSGridStore * | store, |
const GSChar * | name, | ||
GSCollection ** | collection | ||
) |
GSRowによりロウ操作できるGSCollectionインスタンスを取得します。
- 期待するコンテナ種別がGS_CONTAINER_COLLECTIONに限定され、常にGSContainerインスタンスが格納される点を除き、gsGetContainerGeneralと同様に振る舞います。
- Parameters
-
[in] store 処理対象のGSGridStore [in] name 処理対象のコレクションの名前 [out] collection GSCollectionインスタンスを格納するためのポインタ変数へのポインタ値。指定の名前のコレクションが存在しない場合、 NULL
が設定されます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 同名の時系列が存在する場合
- この処理のタイムアウト、接続障害が発生した場合
- 引数に
NULL
が指定された場合
- See Also
- gsGetContainerGeneral
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetContainerGeneral | ( | GSGridStore * | store, |
const GSChar * | name, | ||
GSContainer ** | container | ||
) |
GSRowによりロウ操作できるGSContainerインスタンスを取得します。
- 次の点を除き、gsGetCollectionもしくはgsGetTimeSeriesと同様に振る舞います。
- 既存のコンテナの種別ならびにカラムレイアウトに基づきGSContainerインスタンスを返却する
- コンテナの種別ならびにカラムレイアウトを指定しないため、これらの不一致に伴うエラーが発生しない
- 返却されるGSContainerのロウオブジェクトの型が常にGSRowとなるそれぞれの同名の引数
name
の用法についても同様です。
- Parameters
-
[in] store 処理対象のGSGridStore [in] name 処理対象のコンテナの名前 [out] container GSContainerインスタンスを格納するためのポインタ変数へのポインタ値。指定の名前のコンテナが存在しない場合、 NULL
が設定されます。指定の名前のコンテナが存在し、種別がGS_CONTAINER_COLLECTIONであった場合はGSCollection、GS_CONTAINER_TIME_SERIESであった場合はGSTimeSeries固有の機能が使用できます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- この処理のタイムアウト、接続障害が発生した場合
- 引数に
NULL
が指定された場合
- See Also
- gsGetCollection
- gsGetTimeSeries
- Since
- 1.5
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsGetContainerInfo | ( | GSGridStore * | store, |
const GSChar * | name, | ||
GSContainerInfo * | info, | ||
GSBool * | exists | ||
) |
指定の名前のコンテナに関する情報を取得します。
- 返却されるGSContainerInfoに含まれるコンテナ名は、GridDB上に格納されているものが設定されます。したがって、指定したコンテナ名と比較すると、ASCIIの大文字・小文字表記が異なる場合があります。
- カラム順序を無視するかどうかについては、無視しない状態に設定されます。この設定は、GSContainerInfo::columnOrderIgnorableを通じて確認できます。
- 現バージョンでは、初期値でのNULL使用有無は未設定状態で求まります。この設定は、GSColumnInfo::optionsを通じて確認できます。
- Attention
- カラム情報の列などの可変長データを格納するために、指定のGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用します。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] store 処理対象のコンテナが格納されているGSGridStore [in] name 処理対象のコンテナの名前 [out] info 指定の名前のコンテナに関する情報を格納するためのGSContainerInfoへのポインタ値。指定の名前のコンテナが存在しない場合、もしくは、実行結果としてGS_RESULT_OK以外が返される場合、GS_CONTAINER_INFO_INITIALIZERと同一の内容の初期値が格納されます。 [out] exists 処理対象のコンテナが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- この処理のタイムアウト、接続障害が発生した場合
exists
以外の引数にNULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetMultipleContainerRows | ( | GSGridStore * | store, |
const GSRowKeyPredicateEntry *const * | predicateList, | ||
size_t | predicateCount, | ||
const GSContainerRowEntry ** | entryList, | ||
size_t * | entryCount | ||
) |
指定の条件に基づき、任意のコンテナの任意個数・範囲のロウについて、可能な限りリクエスト単位を大きくして取得します。
- 指定のエントリ列に含まれる条件に従い、個別にgsGetRowもしくはgsFetchを呼び出した場合と同様に、ロウの内容を取得します。ただし、個別に行う場合と違い、同一の格納先などの可能な限り大きな単位で対象ノードに対しリクエストしようとします。これにより、対象コンテナの総数や条件に合致するロウの総数が多くなるほど、対象ノードとやりとりする回数が削減される可能性が高くなります。
- 指定の条件エントリ列は、コンテナ名と、GSRowKeyPredicateで表現される取得条件との組からなる任意個数の条件エントリから構成されます。同一のGSRowKeyPredicateインスタンスを複数含めることもできます。また、対象とするコンテナとして、コンテナ種別やカラムレイアウトが異なるものを混在させることができます。ただし、コンテナの構成によっては評価できない取得条件が存在します。具体的な制限については、GSRowKeyPredicateに対する各種設定機能の定義を参照してください。コンテナ名または取得条件として
NULL
を設定することはできません。
- 取得するエントリ列は、コンテナ名とロウオブジェクト列との組からなるエントリにより構成されます。また、取得するエントリ列には、取得条件として指定したエントリ列のうち、リクエスト時点で実在するコンテナに関するエントリのみが含まれます。同一のコンテナを指す複数のエントリが指定の条件エントリ列に含まれていた場合、取得するエントリ列にはこれらを1つにまとめたエントリが格納されます。同一のリストに複数のロウオブジェクトが含まれる場合、格納される順序はコンテナ種別と対応するGSContainerから派生した個別のコンテナ型の定義に従います。指定のコンテナに対応するロウが1つも存在しない場合、対応するロウオブジェクト列の要素数は
0
となります。
- 他のコンテナ・ロウ操作と同様、異なるコンテナ間での整合性は保証されません。したがって、あるコンテナに対する処理の結果は、その処理の開始前に完了した他の操作命令の影響を受けることがあります。
- gsGetRowForUpdateもしくはgsFetchのように、トランザクションを維持し、更新用ロックを要求することはできません。
- 一度に大量のロウを取得しようとした場合、GridDBノードが管理する通信バッファのサイズの上限に到達し、失敗することがあります。上限サイズについては、GridDBテクニカルリファレンスを参照してください。
- この操作によりエラーが発生した場合、エラー情報には
container
パラメータが含まれることがあります。エラーに関するパラメータの詳細は、GSGridStoreの定義を参照してください。
- Attention
- 取得するエントリ列ならびにその中に含まれるコンテナ名やロウオブジェクト列の可変長のデータを格納するために、指定のGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] store 処理対象のGSGridStore [in] predicateList 対象とするコンテナの名前と取得条件との組からなる条件エントリの列。GSContainerRowEntryの配列により構成されます。 predicateCount
が0
の場合、この配列を参照することはなく、NULL
を指定することもできます。[in] predicateCount 条件エントリ列の要素数 [out] entryList 取得結果エントリ列のアドレスを格納するためのポインタ変数へのポインタ値。取得結果エントリ列はGSContainerRowEntryの配列により構成されます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。[out] entryCount 取得結果エントリ列の要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のコンテナに関して評価できない取得条件が指定された場合
- 特定コンテナ種別固有の制限に反する操作を行った場合
- この処理または関連するトランザクションのタイムアウト、接続障害が発生した場合
predicateList
以外のポインタ型引数にNULL
が指定された場合predicateCount
が正の値であるにもかかわらず、predicateList
にNULL
が指定された場合- エントリ列を構成するエントリのコンテナ名もしくは取得条件として
NULL
が含まれていた場合
- See Also
- gsGetRow
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionController | ( | GSGridStore * | store, |
GSPartitionController ** | partitionController | ||
) |
対応するGridDBクラスタについてのGSPartitionControllerを取得します。
- 指定のGSGridStoreをクローズした時点で使用できなくなります。
- Parameters
-
[in] store 処理対象のGSGridStore [out] partitionController GSPartitionControllerインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合
- 引数に
- See Also
- GSPartitionController
- Since
- 1.5
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsGetTimeSeries | ( | GSGridStore * | store, |
const GSChar * | name, | ||
const GSBinding * | binding, | ||
GSTimeSeries ** | timeSeries | ||
) |
指定の名前の時系列を操作するためのGSTimeSeriesインスタンスを取得します。
- 指定の型とカラムレイアウトとの対応関係については、GSContainerの定義を参照してください。
- Parameters
-
[in] store 処理対象の時系列が格納されているGSGridStore [in] name 処理対象の時系列の名前 [in] binding ユーザ定義構造体とカラムレイアウトとのバインディング情報 [out] timeSeries GSTimeSeriesインスタンスを格納するためのポインタ変数へのポインタ値。指定の名前の時系列が存在しない場合、 NULL
が設定されます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 同名のコレクションが存在する場合
- 指定の型と既存のカラムレイアウトが一致しない場合
- 指定の型がロウオブジェクトの型として適切でない場合。詳しくはGSContainerの定義を参照してください。
- この処理のタイムアウト、接続障害が発生した場合
- 引数に
NULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetTimeSeriesGeneral | ( | GSGridStore * | store, |
const GSChar * | name, | ||
GSTimeSeries ** | timeSeries | ||
) |
GSRowによりロウ操作できるGSTimeSeriesインスタンスを取得します。
- 期待するコンテナ種別がGS_CONTAINER_TIME_SERIESに限定され、常にGSTimeSeriesインスタンスが格納される点を除き、gsGetContainerGeneralと同様に振る舞います。
- Parameters
-
[in] store 処理対象のGSGridStore [in] name 処理対象の時系列の名前 [out] timeSeries GSCollectionインスタンスを格納するためのポインタ変数へのポインタ値。指定の名前の時系列が存在しない場合、 NULL
が設定されます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 同名のコレクションが存在する場合
- この処理のタイムアウト、接続障害が発生した場合
- 引数に
NULL
が指定された場合
- See Also
- gsGetContainerGeneral
- Since
- 1.5
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsPutCollection | ( | GSGridStore * | store, |
const GSChar * | name, | ||
const GSBinding * | binding, | ||
const GSCollectionProperties * | properties, | ||
GSBool | modifiable, | ||
GSCollection ** | collection | ||
) |
コレクションを新規作成または変更します。
- 同名のコンテナが存在しない場合、指定のバインディング情報により定義されたカラムレイアウトに従い、新規にコレクションを作成します。すでに同名のコレクションが存在し、既存のカラムレイアウトの内容がすべて一致する場合、実行中のトランザクションを待機する点を除きgsGetCollectionと同様に振る舞います。
modifiable
がGS_TRUEであり、すでに同名のコレクションが存在する場合、必要に応じカラムレイアウトを変更します。変更する際、要求したカラムと同一の名前・型の既存のカラムは保持されます。一致しないカラムのうち、既存のコレクションにない名前のカラムは追加し、要求側にないカラムはデータも含め削除します。型が異なる同名のカラムが存在する場合は失敗します。また、ロウキーに対応するカラムの追加と削除はできません。
- コンテナにトリガが設定されており、カラムレイアウト変更によってトリガが通知対象としているカラムが削除された場合、そのカラムはトリガの通知対象から削除されます。
- 新たに追加されるカラムの値は、GSContainerにて定義されている空の値を初期値として初期化されます。
- 指定の型とカラムレイアウトとの対応関係については、GSContainerの定義を参照してください。
- すでに同名のコレクションが存在し、かつ、該当するコレクションにおいて実行中のトランザクションが存在する場合、それらの終了を待機してから処理を行います。
- ロウキーを持つコレクションを新規に作成する場合、ロウキーに対し、gsCreateIndexにて定義されているデフォルト種別の索引が作成されます。この索引は、削除することができます。
- 現バージョンでは、コンテナの規模など諸条件を満たした場合、カラムレイアウトの変更開始から終了までの間に、処理対象のコンテナに対してコンテナ情報の参照、更新ロックなしでのロウの参照操作を行える場合があります。それ以外の操作は、GSContainerでの定義通り待機させる場合があります。カラムレイアウトの変更途中に別の操作が行われる場合は、変更前のカラムレイアウトが使用されます。
- Parameters
-
[in] store 処理対象のGSGridStore [in] name 処理対象のコレクションの名前 [in] binding ユーザ定義構造体とカラムレイアウトとのバインディング情報 [in] properties コレクションの構成オプション。 NULL
を指定できます。現バージョンでは使用されておらず、内容はチェックされません。[in] modifiable 既存コレクションのカラムレイアウト変更を許可するかどうか [out] collection GSCollectionインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 同名の時系列が存在する場合。
modifiable
がGS_FALSEであり、既存の同名のコレクションに関してカラムレイアウトの内容が一致しない場合modifiable
がGS_TRUEであり、既存の同名のコレクションに関して変更できない項目を変更しようとした場合- 指定の型がロウオブジェクトの型として適切でない場合。詳しくはGSContainerの定義を参照してください。
- この処理のタイムアウト、接続障害が発生した場合
properties
以外のポインタ型引数にNULL
が指定された場合
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsPutCollectionGeneral | ( | GSGridStore * | store, |
const GSChar * | name, | ||
const GSContainerInfo * | info, | ||
GSBool | modifiable, | ||
GSCollection ** | collection | ||
) |
GSContainerInfoを指定して、コレクションを新規作成または変更します。
- コンテナ種別がGS_CONTAINER_COLLECTIONに限定され、GSContainerインスタンスが格納される点を除き、gsPutContainerGeneralと同様に振る舞います。
- Parameters
-
[in] store 処理対象のGSGridStore [in] name 処理対象のコレクションの名前 [in] info 処理対象のコレクションの情報。コンテナ種別には常にGS_CONTAINER_COLLECTIONを指定 [in] modifiable 既存コレクションのカラムレイアウト変更を許可するかどうか [out] collection GSCollectionインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- コンテナ種別以外の指定内容に関して、gsPutContainerGeneralの規則に合致しない場合。また、コンテナ種別に関する制限に合致しない場合
- この処理のタイムアウト、接続障害が発生した場合
name
以外のポインタ型引数にNULL
が指定された場合
- See Also
- gsPutContainerGeneral
- Since
- 1.5
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsPutContainer | ( | GSGridStore * | store, |
const GSChar * | name, | ||
const GSBinding * | binding, | ||
const GSContainerInfo * | info, | ||
GSBool | modifiable, | ||
GSContainer ** | container | ||
) |
バインディング情報とGSContainerInfoを指定して、コンテナを新規作成または変更します。
- 主に、バインディング情報を指定して、追加設定を持つコンテナを新規作成する場合に使用します。
- カラムレイアウトならびにカラム順序の無視設定をGSContainerInfoに指定できない点を除けば、gsPutContainerGeneralと同様です。
- Parameters
-
[in] store 処理対象のGSGridStore [in] name 処理対象のコンテナの名前 [in] binding ユーザ定義構造体とカラムレイアウトとのバインディング情報 [in] info 処理対象のコンテナの情報。 NULL
の場合は無視される[in] modifiable 既存コレクションのカラムレイアウト変更を許可するかどうか [out] container GSContainerインスタンスを格納するためのポインタ変数へのポインタ値。GS_CONTAINER_COLLECTIONを指定した場合はGSCollection、GS_CONTAINER_TIME_SERIESを指定した場合はGSTimeSeries固有の機能が使用できます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
name
ならびにinfo
引数の内容が規則に合致しない場合。また、指定のコンテナ種別に対応するコンテナ新規作成・変更関数の規則に合致しない場合- 指定の型がロウオブジェクトの型として適切でない場合。詳しくはGSContainerの定義を参照してください。
- この処理のタイムアウト、接続障害が発生した場合
name
以外のポインタ型引数にNULL
が指定された場合
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsPutContainerGeneral | ( | GSGridStore * | store, |
const GSChar * | name, | ||
const GSContainerInfo * | info, | ||
GSBool | modifiable, | ||
GSContainer ** | container | ||
) |
GSContainerInfoを指定して、コンテナを新規作成または変更します。
- 次の点を除き、gsPutCollectionもしくはgsPutTimeSeriesと同様に振る舞います。
- GSContainerInfoを用いてコンテナ種別、カラムレイアウト、ならびに、必要に応じ時系列構成オプションを指定する
- 返却されるGSContainerのロウオブジェクトの型が常にGSRowとなるそれぞれの同名の引数
modifiable
の用法についても同様です。
- コンテナに関する情報の指定方法の一覧は次の通りです。
項目 引数 説明 コンテナ名 name
またはinfo
少なくともいずれかの引数に NULL
ではない値を指定する。両方に指定する場合、異なる値を指定してはならない。コンテナ種別 info
GS_CONTAINER_COLLECTIONを指定した場合、gsPutCollectionと同様の振る舞いとなる。GS_CONTAINER_TIME_SERIESを指定した場合、gsPutTimeSeriesと同様の振る舞いとなる。 カラムレイアウト info
GSContainerにて規定された制約に合致するようGSColumnInfoのリストならびにロウキーの構成を設定する。ただし現バージョンでは、初期値でのNULL使用有無が設定されたGSColumnInfo::optionsを持つGSColumnInfoを含めることはできない。 カラム順序の無視 info
無視する場合、同名の既存のコンテナのカラム順序と一致するかどうかを検証しない。 時系列構成オプション info
コンテナ種別がGS_CONTAINER_TIME_SERIESの場合のみ、 NULL
ではない値を指定できる。索引設定 info
現バージョンでは無視される。今後のバージョンでは、gsCreateIndexの規則に合致しない設定が含まれていた場合、エラーとなる可能性がある。 トリガ設定 info
現バージョンでは無視される。今後のバージョンでは、gsCreateTriggerの規則に合致しない設定が含まれていた場合、エラーとなる可能性がある。 コンテナ類似性 info
NULL
以外を指定し新規作成する場合、指定の内容が反映される。既存コンテナの設定を変更することはできない。NULL
を指定した場合は無視される。
- Parameters
-
[in] store 処理対象のGSGridStore [in] name 処理対象のコンテナの名前 [in] info 処理対象のコンテナの情報 [in] modifiable 既存コンテナのカラムレイアウト変更を許可するかどうか [out] container GSContainerインスタンスを格納するためのポインタ変数へのポインタ値。GS_CONTAINER_COLLECTIONを指定した場合はGSCollection、GS_CONTAINER_TIME_SERIESを指定した場合はGSTimeSeries固有の機能が使用できます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
name
ならびにinfo
引数の内容が規則に合致しない場合。また、指定のコンテナ種別に対応するコンテナ新規作成・変更関数の規則に合致しない場合- この処理のタイムアウト、接続障害が発生した場合
name
以外のポインタ型引数にNULL
が指定された場合
- See Also
- gsPutCollection
- gsPutTimeSeries
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsPutMultipleContainerRows | ( | GSGridStore * | store, |
const GSContainerRowEntry * | entryList, | ||
size_t | entryCount | ||
) |
任意のコンテナの任意個数のロウについて、可能な限りリクエスト単位を大きくして新規作成または更新操作を行います。
- 指定のエントリ列に含まれる各ロウオブジェクトについて、個別にgsPutRowを呼び出した場合と同様に新規作成または更新操作を行います。ただし、個別に行う場合と違い、同一の格納先などの可能な限り大きな単位で対象ノードに対しリクエストしようとします。これにより、対象コンテナの総数や指定のロウオブジェクトの総数が多くなるほど、対象ノードとやりとりする回数が削減される可能性が高くなります。
- 指定のエントリ列は、コンテナ名とロウオブジェクト列との組からなる任意個数のエントリから構成されます。対象とするコンテナとして、コンテナ種別やカラムレイアウトが異なるものを混在させることができます。ただし、すでに存在するコンテナでなければなりません。エントリ列のコンテナ名として
NULL
を設定することはできません。また、ロウオブジェクト列の要素数が正ならば、ロウオブジェクト列の配列アドレスとしてNULL
を設定することはできません。
- 各ロウオブジェクト列には、対象のコンテナと同一のカラムレイアウトのGSRowのみを任意個数含めることができます。現バージョンでは、カラム順序についてもすべて同一でなければなりません。ロウオブジェクト列の要素として
NULL
を含めることはできません。
- 指定のエントリ列内に同一コンテナを対象とした同一ロウキーを持つ複数のロウオブジェクト列が存在する場合、異なるリスト間であればエントリ列の要素順、同一ロウオブジェクト列内であればその要素順を基準として、同値のロウキーを持つ最も後方にあるロウオブジェクトの内容が反映されます。
- トランザクションを維持し、ロックを保持し続けることはできません。ただし、既存のトランザクションが対象ロウに影響するロックを確保している場合、すべてのロックが解放されるまで待機し続けます。
- 他のコンテナ・ロウ操作と同様、異なるコンテナ間での整合性は保証されません。したがって、あるコンテナに対する処理の結果は、その処理の開始前に完了した他の操作命令の影響を受けることがあります。
- 各コンテナならびにロウに対する処理の途中でエラーが発生した場合、一部のコンテナの一部のロウに対する操作結果のみが反映されたままとなることがあります。
- この操作によりエラーが発生した場合、エラー情報には
container
パラメータが含まれることがあります。エラーに関するパラメータの詳細は、GSGridStoreの定義を参照してください。
- Attention
- エントリ列に含まれるロウオブジェクトへのアドレスとしてGSRow以外のものが含まれており、異常を検知できなかった場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] store 処理対象のGSGridStore [in] entryList 対象とするコンテナの名前とロウオブジェクト列からなるエントリの列。GSContainerRowEntryの配列により構成されます。 entryCount
が0
の場合、この配列を参照することはなく、NULL
を指定することもできます。[in] entryCount エントリ列の要素数
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 対象とするコンテナが存在しない場合、また、対象とするコンテナとロウオブジェクトとのカラムレイアウトが一致しない場合
- 特定コンテナ種別固有の制限に反する操作を行った場合
- この処理または関連するトランザクションのタイムアウト、接続障害が発生した場合、またはサポート範囲外の値がロウオブジェクトに含まれていた場合
store
がNULL
の場合queryCount
が正の値であるにもかかわらず、queryList
にNULL
が指定された場合- エントリ列に含まれるロウオブジェクトへのアドレスとしてGSRow以外のものが含まれており、異常検知に成功した場合
- エントリ列を構成するエントリのコンテナ名として
NULL
が含まれていた場合、ロウオブジェクト列の要素数が正であるにも関わらずロウオブジェクト列の配列アドレスとしてNULL
が含まれていた場合、また、ロウオブジェクト列の要素としてNULL
が含まれていた場合
- See Also
- gsPutRow
- Since
- 1.5
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsPutTimeSeries | ( | GSGridStore * | store, |
const GSChar * | name, | ||
const GSBinding * | binding, | ||
const GSTimeSeriesProperties * | properties, | ||
GSBool | modifiable, | ||
GSTimeSeries ** | timeSeries | ||
) |
時系列を新規作成または変更します。
- 同名のコンテナが存在しない場合、指定のバインディング情報により定義されたカラムレイアウトに従い、新規に時系列を作成します。すでに同名の時系列が存在し、既存のカラムレイアウトの内容がすべて一致する場合、実行中のトランザクションを待機する点を除きgsGetTimeSeriesと同様に振る舞います。
modifiable
がGS_TRUEであり、すでに同名の時系列が存在する場合、必要に応じカラムレイアウトを変更します。変更する際、要求したカラムと同一の名前・型の既存のカラムは保持されます。一致しないカラムのうち、既存の時系列にない名前のカラムは追加し、要求側にないカラムはデータも含め削除します。型が異なる同名のカラムが存在する場合は失敗します。また、ロウキーに対応するカラムの追加と削除、時系列構成オプションの変更はできません。時系列構成オプションを指定する場合は、既存の設定内容とすべて同値にする必要があります。
- コンテナにトリガが設定されており、カラムレイアウト変更によってトリガが通知対象としているカラムが削除された場合、そのカラムはトリガの通知対象から削除されます。
- 新たに追加されるカラムの値は、gsPutCollectionの定義を参照してください。
- 指定の型とカラムレイアウトとの対応関係については、GSContainerの定義を参照してください。
- すでに同名の時系列が存在し、かつ、該当する時系列において実行中のトランザクションが存在する場合、それらの終了を待機してから処理を行います。
- Parameters
-
[in] store 処理対象のGSGridStore [in] name 処理対象の時系列の名前 [in] binding ユーザ定義構造体とカラムレイアウトとのバインディング情報 [in] properties 時系列の構成オプション。 NULL
を指定すると、同名の時系列が存在する場合は既存の設定が継承され、存在しない場合は初期設定を指定したものとみなされます。初期設定とは、GS_TIME_SERIES_PROPERTIES_INITIALIZERにより初期化した時系列構成オプションと同値の設定のことです。[in] modifiable 既存時系列のカラムレイアウト変更を許可するかどうか [out] timeSeries GSTimeSeriesインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 同名の時系列が存在する場合。
modifiable
がGS_FALSEであり、既存の同名の時系列に関してカラムレイアウトの内容が一致しない場合modifiable
がGS_TRUEであり、既存の同名の時系列に関して変更できない項目を変更しようとした場合- 指定の型がロウオブジェクトの型として適切でない場合。詳しくはGSContainerの定義を参照してください。
- この処理のタイムアウト、接続障害が発生した場合
properties
以外のポインタ型引数にNULL
が指定された場合
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsPutTimeSeriesGeneral | ( | GSGridStore * | store, |
const GSChar * | name, | ||
const GSContainerInfo * | info, | ||
GSBool | modifiable, | ||
GSTimeSeries ** | timeSeries | ||
) |
GSContainerInfoを指定して、時系列を新規作成または変更します。
- コンテナ種別がGS_CONTAINER_TIME_SERIESに限定され、GSTimeSeriesインスタンスが格納される点を除き、gsPutTimeSeriesGeneralと同様に振る舞います。
- Parameters
-
[in] store 処理対象のGSGridStore [in] name 処理対象の時系列の名前 [in] info 処理対象の時系列の情報。コンテナ種別には常にGS_CONTAINER_TIME_SERIESを指定 [in] modifiable 既存時系列のカラムレイアウト変更を許可するかどうか [out] timeSeries GSTimeSeriesインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- コンテナ種別以外の指定内容に関して、gsPutContainerGeneralの規則に合致しない場合。また、コンテナ種別に関する制限に合致しない場合
- この処理のタイムアウト、接続障害が発生した場合
name
以外のポインタ型引数にNULL
が指定された場合
- See Also
- gsPutContainerGeneral
- Since
- 1.5
Typedefs | |
typedef struct GSGridStoreFactoryTag | GSGridStoreFactory |
GSGridStoreインスタンスを管理します。More... | |
Functions | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseFactory (GSGridStoreFactory **factory, GSBool allRelated) |
必要に応じ、指定のGSGridStoreFactoryに関連するリソースをクローズします。More... | |
GS_DLL_PUBLIC GSGridStoreFactory *GS_API_CALL | gsGetDefaultFactory () |
デフォルトのGSGridStoreFactoryインスタンスを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetGridStore (GSGridStoreFactory *factory, const GSPropertyEntry *properties, size_t propertyCount, GSGridStore **store) |
指定のプロパティを持つGSGridStoreを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetFactoryProperties (GSGridStoreFactory *factory, const GSPropertyEntry *properties, size_t propertyCount) |
指定のファクトリの設定を変更します。More... | |
Detailed Description
Typedef Documentation
typedef struct GSGridStoreFactoryTag GSGridStoreFactory |
GSGridStoreインスタンスを管理します。
- GSGridStoreインスタンス共通のクライアント設定や使用済みのコネクションを管理します。
- GridDBにアクセスするためには、このファクトリを介してGSGridStoreインスタンスを取得する必要があります。
- この型のポインタを第一引数とする関数は、すべてスレッド安全です。
Function Documentation
GS_DLL_PUBLIC void GS_API_CALL gsCloseFactory | ( | GSGridStoreFactory ** | factory, |
GSBool | allRelated | ||
) |
必要に応じ、指定のGSGridStoreFactoryに関連するリソースをクローズします。
- Note
- 現バージョンでは、何もクローズ処理を行いません。
- Parameters
-
[in,out] factory 対象とするGSGridStoreFactoryインスタンスのポインタ変数へのポインタ値 [in] allRelated 現バージョンでは、結果に影響しません。
GS_DLL_PUBLIC GSGridStoreFactory* GS_API_CALL gsGetDefaultFactory | ( | ) |
デフォルトのGSGridStoreFactoryインスタンスを取得します。
- Returns
- GSGridStoreFactoryインスタンスへのポインタ値
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetGridStore | ( | GSGridStoreFactory * | factory, |
const GSPropertyEntry * | properties, | ||
size_t | propertyCount, | ||
GSGridStore ** | store | ||
) |
指定のプロパティを持つGSGridStoreを取得します。
- GSGridStoreを取得した時点では、各GSContainerを管理するマスタノード(以下、マスタ)のアドレス探索を必要に応じて行うだけであり、認証処理は行われません。実際に各GSContainerに対応するノードに接続する必要が生じたタイミングで、認証処理が行われます。
- 以下のプロパティを指定できます。サポート外の名称のプロパティは無視されます。
名称 説明 host 接続先ホスト名。IPアドレス(IPV4のみ)も可。マスタを手動指定する場合は必須。マスタを自動検出する場合は設定しない。notificationMemberおよびnotificationProviderと同時に指定することはできない port 接続先ポート番号。 0
から65535
までの数値の文字列表現。マスタを手動指定する場合は必須。マスタを自動検出する場合は設定しないnotificationAddress マスタ自動検出に用いられる通知情報を受信するためのIPアドレス(IPV4のみ)。省略時はデフォルトのアドレスを使用 notificationPort マスタ自動検出に用いられる通知情報を受信するためのポート番号。 0
から65535
までの数値の文字列表現。省略時はデフォルトのポートを使用clusterName クラスタ名。接続先のクラスタに設定されているクラスタ名と一致するかどうかを確認するために使用される。省略時もしくは空文字列を指定した場合、クラスタ名の確認は行われない。 database 接続先のデータベース名。省略時は全てのユーザがアクセス可能な「public」データベースに自動接続される。接続ユーザは接続データベースに属するコンテナを操作できる。 user ユーザ名 password ユーザ認証用のパスワード consistency 以下のいずれかの一貫性レベル。デフォルトでは IMMEDIATE
を適用IMMEDIATE
- 他のクライアントからの更新結果は、該当トランザクションの完了後即座に反映される
EVENTUAL
- 他のクライアントからの更新結果は、該当トランザクションが完了した後でも反映されない場合がある。GSContainerに対する更新操作は実行できない
transactionTimeout トランザクションタイムアウト時間の最低値。関係するGSContainerにおける各トランザクションの開始時点から適用。 0
からINTEGER型の最大値までの値の文字列表現であり、単位は秒。ただし、タイムアウト時間として有効に機能する範囲に上限があり、上限を超える指定は上限値が指定されたものとみなされる。0
の場合、後続のトランザクション処理がタイムアウトエラーになるかどうかは常に不定となる。省略時は接続先GridDB上のデフォルト値を使用failoverTimeout フェイルオーバ処理にて新たな接続先が見つかるまで待機する時間の最低値。 0
からINTEGER型の最大値までの数値の文字列表現であり、単位は秒。0
の場合、フェイルオーバ処理を行わない。省略時は指定のファクトリの設定値を使用containerCacheSize コンテナキャッシュに格納するコンテナ情報の最大個数。 0
からINTEGER型の最大値までの数値の文字列表現。値が0
の場合、コンテナキャッシュを使用しないことを意味する。GSContainerを取得する際にキャッシュにヒットした場合は、GridDBへのコンテナ情報の問い合わせを行わない。省略時は既存の設定値を使用。バージョン1.5よりサポートnotificationMember 固定リスト方式を使用して構成されたクラスタに接続する場合に、クラスタノードのアドレス・ポートのリストを次のように指定する。 (アドレス1):(ポート1),(アドレス2):(ポート2),...
notificationAddressおよびnotificationProviderと同時に指定することはできない。バージョン2.9よりサポートnotificationProvider プロバイダ方式を使用して構成されたクラスタに接続する場合に、アドレスプロバイダのURLを指定する。notificationAddressおよびnotificationMemberと同時に指定することはできない。バージョン2.9よりサポート applicationName アプリケーションの名前。アプリケーションの識別を補助するための情報として、接続先のクラスタ上での各種管理情報の出力の際に含められる場合がある。ただし、アプリケーションの同一性をどのように定義するかについては関与しない。省略時はアプリケーション名の指定がなかったものとみなされる。空文字列は指定できない。バージョン4.2よりサポート timeZone タイムゾーン情報。TQLでのTIMESTAMP値演算などに使用される。「 ±hh:mm
」または「±hhmm
」形式によるオフセット値(±
は+
または-
、hh
は時、mm
は分)、「Z
」(+00
:00に相当)、「auto
」(実行環境に応じ自動設定)のいずれかを指定する。auto
が使用できるのは夏時間を持たないタイムゾーンに限定される。バージョン4.23よりサポート
- クラスタ名、データベース名、ユーザ名、パスワードについては、ASCIIの大文字・小文字表記の違いがいずれも区別されます。その他、これらの定義に使用できる文字種や長さの上限などの制限については、GridDBテクニカルリファレンスを参照してください。ただし、制限に反する文字列をプロパティ値として指定した場合、各ノードへの接続のタイミングまでエラーが検知されないことや、認証情報の不一致など別のエラーになることがあります。
- 取得のたびに、新たなGSGridStoreインスタンスが生成されます。異なるGSGridStoreインスタンスならびに関連するリソースに対する操作は、スレッド安全です。すなわち、ある2つのリソースがそれぞれGSGridStoreインスタンスを基にして生成されたものまたはGSGridStoreインスタンスそのものであり、かつ、該当する関連GSGridStoreインスタンスが異なる場合、一方のリソースに対してどのスレッドからどのタイミングで関連する関数が呼び出されていたとしても、他方のリソースの関連する関数を呼び出すことができます。ただし、GSGridStore自体のスレッド安全性は保証されていないため、同一GSGridStoreインスタンスに対して複数スレッドから任意のタイミングで関連する関数を呼び出すことはできません。
- Parameters
-
[in] factory 取得元のGSGridStoreFactoryインスタンス。 NULL
の場合、gsGetDefaultFactoryにより得られるインスタンスと同一のものが使用されます。[in] properties 取得設定を指示するためのプロパティ。GSPropertyEntryの配列により構成されます。エントリ数が 0
の場合、この配列を参照することはなく、NULL
を指定することもできます。エントリを構成する名前もしくは値にNULL
を含めることはできません。[in] propertyCount properties
として引数に指定するプロパティのエントリ数。[out] store GSGridStoreインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のホストについて名前解決できなかった場合
- 指定のプロパティが上で説明した形式・制限に合致しないことを検知できた場合
store
にNULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetFactoryProperties | ( | GSGridStoreFactory * | factory, |
const GSPropertyEntry * | properties, | ||
size_t | propertyCount | ||
) |
指定のファクトリの設定を変更します。
- 設定の変更は、指定のファクトリより生成されたGSGridStore、ならびに、今後指定のファクトリで生成されるGSGridStoreに反映されます。
- 以下のプロパティを指定できます。サポート外の名称のプロパティは無視されます。
名称 説明 maxConnectionPoolSize 内部で使用されるコネクションプールの最大コネクション数。 0
からINTEGER型の最大値までの数値の文字列表現。値が0
の場合、コネクションプールを使用しないことを意味する。省略時は既存の設定値を使用failoverTimeout フェイルオーバ処理にて新たな接続先が見つかるまで待機する時間の最低値。 0
からINTEGER型の最大値までの数値の文字列表現であり、単位は秒。0
の場合、フェイルオーバ処理を行わない。省略時は既存の設定値を使用
- Parameters
-
[in] factory 取得元のGSGridStoreFactoryインスタンス。 NULL
の場合、gsGetDefaultFactoryにより得られるインスタンスと同一のものが使用されます。[in] properties 取得設定を指示するためのプロパティ。GSPropertyEntryの配列により構成されます。エントリ数が 0
の場合、NULL
を指定することもできます。エントリを構成する名前もしくは値にNULL
を含めることはできません。[in] propertyCount properties
として引数に指定するプロパティのエントリ数。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のプロパティが上で説明した形式に合致しない場合
properties
にNULL
が指定された場合
Typedefs | |
typedef struct GSPartitionControllerTag | GSPartitionController |
パーティション状態の取得や操作のためのコントローラです。More... | |
Functions | |
GS_DLL_PUBLIC void GS_API_CALL | gsClosePartitionController (GSPartitionController **controller) |
指定のGSPartitionControllerインスタンスを解放します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionCount (GSPartitionController *controller, int32_t *partitionCount) |
対象とするGridDBクラスタのパーティション数を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionContainerCount (GSPartitionController *controller, int32_t partitionIndex, int64_t *containerCount) |
指定のパーティションに属するコンテナの総数を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionContainerNames (GSPartitionController *controller, int32_t partitionIndex, int64_t start, const int64_t *limit, const GSChar *const **nameList, size_t *size) |
指定のパーティションに所属するコンテナの名前の一覧を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionHosts (GSPartitionController *controller, int32_t partitionIndex, const GSChar *const **addressList, size_t *size) |
指定のパーティションに対応するノードのアドレス一覧を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionOwnerHost (GSPartitionController *controller, int32_t partitionIndex, const GSChar **address) |
指定のパーティションに対応するオーナノードのアドレスを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionBackupHosts (GSPartitionController *controller, int32_t partitionIndex, const GSChar *const **addressList, size_t *size) |
指定のパーティションに対応するバックアップノードのアドレス一覧を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAssignPartitionPreferableHost (GSPartitionController *controller, int32_t partitionIndex, const GSChar *host) |
優先的に選択されるホストのアドレスを設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPartitionIndexOfContainer (GSPartitionController *controller, const GSChar *containerName, int32_t *partitionIndex) |
指定のコンテナ名に対応するパーティションインデックスを取得します。More... | |
Detailed Description
Typedef Documentation
typedef struct GSPartitionControllerTag GSPartitionController |
パーティション状態の取得や操作のためのコントローラです。
- パーティションとは、データを格納する論理的な領域です。GridDBクラスタ内のデータ配置に基づいた操作を行うために使用します。
- Since
- 1.5
Function Documentation
GS_DLL_PUBLIC GSResult GS_API_CALL gsAssignPartitionPreferableHost | ( | GSPartitionController * | controller, |
int32_t | partitionIndex, | ||
const GSChar * | host | ||
) |
優先的に選択されるホストのアドレスを設定します。
- バックアップノードへの接続など、可能な接続先が複数存在する場合に、設定されたアドレスが候補に含まれていれば常に選択されるようになります。それ以外の場合は設定が無視されます。
- Parameters
-
[in] controller 処理対象のGSPartitionController [in] partitionIndex パーティションインデックス。 0
以上パーティション数未満の値。[in] host 優先的に選択されるホストのアドレス。IPアドレス(IPV4のみ)も可。 NULL
の場合、設定が解除される
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
controller
引数にNULL
が指定された場合- 範囲外のパーティションインデックスが指定された場合
- アドレスの名前解決に失敗した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
- Since
- 1.5
GS_DLL_PUBLIC void GS_API_CALL gsClosePartitionController | ( | GSPartitionController ** | controller | ) |
指定のGSPartitionControllerインスタンスを解放します。
- Parameters
-
[in,out] controller クローズ対象のGSPartitionControllerインスタンスを指しているポインタ変数へのポインタ値。クローズすると、ポインタ変数に NULL
が設定されます。以後、解放したGSPartitionControllerインスタンスにアクセスしてはなりません。ポインタ値またはポインタ変数の値がNULL
の場合は、クローズ処理を行いません。
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionBackupHosts | ( | GSPartitionController * | controller, |
int32_t | partitionIndex, | ||
const GSChar *const ** | addressList, | ||
size_t * | size | ||
) |
指定のパーティションに対応するバックアップノードのアドレス一覧を取得します。
- オーナノードとは、gsGetGridStoreおける一貫性レベルとして
"EVENTUAL"
を指定した場合に、優先的に選択されるノードのことです。
- 一覧の順序に関しては不定です。重複するアドレスが含まれることはありません。
- Attention
- アドレス一覧を格納する領域を確保するために、指定のGSPartitionControllerと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] controller 処理対象のGSPartitionController [in] partitionIndex パーティションインデックス。 0
以上パーティション数未満の値。[out] addressList アドレスの文字列表現一覧の配列を格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size コンテナ名一覧の配列の要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のパーティションインデックスが指定された場合
- この処理のタイムアウト、接続障害が発生した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionContainerCount | ( | GSPartitionController * | controller, |
int32_t | partitionIndex, | ||
int64_t * | containerCount | ||
) |
指定のパーティションに属するコンテナの総数を取得します。
- コンテナ数を求める際の計算量は、コンテナ数にはおおむね依存しません。
- Parameters
-
[in] controller 処理対象のGSPartitionController [in] partitionIndex パーティションインデックス。 0
以上パーティション数未満の値[out] containerCount コンテナ数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のパーティションインデックスが指定された場合
- この処理のタイムアウト、接続障害が発生した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionContainerNames | ( | GSPartitionController * | controller, |
int32_t | partitionIndex, | ||
int64_t | start, | ||
const int64_t * | limit, | ||
const GSChar *const ** | nameList, | ||
size_t * | size | ||
) |
指定のパーティションに所属するコンテナの名前の一覧を取得します。
- 指定のパーティションについてコンテナの新規作成・構成変更・削除が行われたとしても、該当コンテナを除くとその前後で一覧の取得結果の順序が変わることはありません。それ以外の一覧の順序に関しては不定です。重複する名前が含まれることはありません。
- 取得件数の上限が指定された場合、上限を超える場合、後方のものから切り捨てられます。指定条件に該当するものが存在しない場合、空のリストが求まります。
- Attention
- コンテナ名一覧を格納する領域を確保するために、指定のGSPartitionControllerと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] controller 処理対象のGSPartitionController [in] partitionIndex パーティションインデックス。 0
以上パーティション数未満の値。[in] start 取得範囲の開始位置。 0
以上の値[in] limit 取得件数の上限。 NULL
の場合、上限なしとみなされる[out] nameList コンテナ名一覧の配列を格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size コンテナ名一覧の配列の要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
limit
以外のポインタ型引数にNULL
が指定された場合- 範囲外のパーティションインデックスが指定された場合
- この処理のタイムアウト、接続障害が発生した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionCount | ( | GSPartitionController * | controller, |
int32_t * | partitionCount | ||
) |
対象とするGridDBクラスタのパーティション数を取得します。
- 対象とするGridDBクラスタにおけるパーティション数設定の値を取得します。一度取得した結果はキャッシュされ、次にクラスタ障害・クラスタノード障害を検知するまで再びGridDBクラスタに問い合わせることはありません。
- Parameters
-
[in] controller 処理対象のGSPartitionController [out] partitionCount パーティション数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 -1
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合 - この処理のタイムアウト、接続障害が発生した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionHosts | ( | GSPartitionController * | controller, |
int32_t | partitionIndex, | ||
const GSChar *const ** | addressList, | ||
size_t * | size | ||
) |
指定のパーティションに対応するノードのアドレス一覧を取得します。
- 一覧の順序に関しては不定です。重複するアドレスが含まれることはありません。
- Attention
- アドレス一覧を格納する領域を確保するために、指定のGSPartitionControllerと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] controller 処理対象のGSPartitionController [in] partitionIndex パーティションインデックス。 0
以上パーティション数未満の値。[out] addressList アドレスの文字列表現一覧の配列を格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size コンテナ名一覧の配列の要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のパーティションインデックスが指定された場合
- この処理のタイムアウト、接続障害が発生した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionIndexOfContainer | ( | GSPartitionController * | controller, |
const GSChar * | containerName, | ||
int32_t * | partitionIndex | ||
) |
指定のコンテナ名に対応するパーティションインデックスを取得します。
- 一度GridDBクラスタが構築されると、コンテナの所属先のパーティションが変化することはなく、パーティションインデックスも一定となります。指定の名前に対応するコンテナが存在するかどうかは、結果に依存しません。
- パーティションインデックスの算出に必要とする情報はキャッシュされ、次にクラスタ障害・クラスタノード障害を検知するまで再びGridDBクラスタに問い合わせることはありません。
- Parameters
-
[in] controller 処理対象のGSPartitionController [in] containerName コンテナ名 [out] partitionIndex パーティションインデックスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 -1
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合 - コンテナ名として許可されない文字列が指定された場合
- この処理のタイムアウト、接続障害が発生した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPartitionOwnerHost | ( | GSPartitionController * | controller, |
int32_t | partitionIndex, | ||
const GSChar ** | address | ||
) |
指定のパーティションに対応するオーナノードのアドレスを取得します。
- オーナノードとは、gsGetGridStoreおける一貫性レベルとして
"IMMEDIATE"
を指定した場合に、常に選択されるノードのことです。
- Attention
- アドレスを格納する領域を確保するために、指定のGSPartitionControllerと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] controller 処理対象のGSPartitionController [in] partitionIndex パーティションインデックス。 0
以上パーティション数未満の値。[out] address アドレスの文字列表現を格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のパーティションインデックスが指定された場合
- この処理のタイムアウト、接続障害が発生した場合
- 対応するGSGridStoreのクローズ後に呼び出された場合
- ポインタ型引数に
- Since
- 1.5
Typedefs | |
typedef struct GSQueryTag | GSQuery |
特定のGSContainerに対応付けられたクエリを保持し、結果取得方法の設定ならびに実行・結果取得を行う機能を持ちます。 | |
Functions | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseQuery (GSQuery **query) |
指定のGSQueryインスタンスを解放します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsFetch (GSQuery *query, GSBool forUpdate, GSRowSet **rowSet) |
オプションを指定して指定のクエリを実行し、実行結果に対応するロウ集合を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetFetchOption (GSQuery *query, GSFetchOption fetchOption, const void *value, GSType valueType) |
結果取得に関するオプションを設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowSet (GSQuery *query, GSRowSet **rowSet) |
直近に実行した結果のGSRowSetを取得します。More... | |
Detailed Description
Function Documentation
GS_DLL_PUBLIC void GS_API_CALL gsCloseQuery | ( | GSQuery ** | query | ) |
GS_DLL_PUBLIC GSResult GS_API_CALL gsFetch | ( | GSQuery * | query, |
GSBool | forUpdate, | ||
GSRowSet ** | rowSet | ||
) |
オプションを指定して指定のクエリを実行し、実行結果に対応するロウ集合を取得します。
forUpdate
にGS_TRUEが指定された場合、取得対象のロウすべてをロックします。ロックすると、対応するトランザクションが有効である間、他のトランザクションからの対象ロウに対する変更操作が阻止されます。対応するコンテナの自動コミットモードが無効の場合のみ、指定できます。
- 新たなロウ集合を取得すると、指定のクエリについて直近に実行した結果のGSRowSetを介するロウ操作はできなくなります。
- 一度に大量のロウを取得しようとした場合、GridDBノードが管理する通信バッファのサイズの上限に到達し、失敗することがあります。上限サイズについては、GridDBテクニカルリファレンスを参照してください。
- Parameters
-
[in] query 処理対象のGSQuery [in] forUpdate 更新用ロックを要求するかどうか [out] rowSet GSRowSetインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 対応するコレクションの自動コミットモード有効であるにもかかわらず、
forUpdate
にGS_TRUEが指定された場合 - ロックできないクエリであるにもかかわらず、
forUpdate
にGS_TRUEが指定された場合。具体的なロックの可否は、指定のクエリを作成する機能の各種定義を参照してください。 - 正しくないパラメータ・構文・命令を含むクエリを実行しようとした場合。具体的な制約は、指定のクエリを作成する機能の各種定義を参照してください。
- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、または対応するGSContainerのクローズ後に呼び出された場合
- ポインタ型引数に
NULL
が指定された場合
- 対応するコレクションの自動コミットモード有効であるにもかかわらず、
直近に実行した結果のGSRowSetを取得します。
- 一度取得すると、以降新たに指定のクエリを実行するまでGSRowSetが取得できなくなります。
- GS_FETCH_PARTIAL_EXECUTIONが有効に設定されていた場合、クエリ実行処理の続きを行う場合があります。
- Parameters
-
[in] query 処理対象のGSQuery [out] rowSet 直近に実行した結果のGSRowSetインスタンスを格納するためのポインタ変数へのポインタ値。取得済みの場合、もしくは、一度もクエリを実行したことのない場合は NULL
が設定されます。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、またはGSContainerのクローズ後に呼び出された場合
- ポインタ型引数に
NULL
が指定された場合
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetFetchOption | ( | GSQuery * | query, |
GSFetchOption | fetchOption, | ||
const void * | value, | ||
GSType | valueType | ||
) |
結果取得に関するオプションを設定します。
- 設定可能なオプション項目と値の定義については、GSFetchOptionTagを参照してください。
- Attention
valueType
とvalue
の型との対応が正しくない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] query 処理対象のGSQuery [in] fetchOption オプション項目 [in] value オプションの値。指定可能な型は、 valueType
によって次のように異なります。valueType
value
の型INTEGER int32_t* LONG int64_t* BOOL GSBool* [in] valueType オプションの値の型
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- オプション項目固有の制約に違反した場合
- ポインタ型引数に
NULL
が指定された場合 - 対応するGSContainerのクローズ後に呼び出された場合
Typedefs | |
typedef struct GSRowTag | GSRow |
任意のスキーマについて汎用的にフィールド操作できるロウです。More... | |
typedef GSRow | GSRowKey |
ロウキーに関するカラムのみから構成されるGSRowの一種です。More... | |
Functions | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseRow (GSRow **row) |
指定のGSRowインスタンスを解放します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult | gsGetRowSchema (GSRow *row, GSContainerInfo *schemaInfo) |
指定のロウに対応するスキーマを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldGeneral (GSRow *row, int32_t column, const GSValue *fieldValue, GSType type) |
指定のフィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldGeneral (GSRow *row, int32_t column, GSValue *fieldValue, GSType *type) |
指定のフィールドの値とその型を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByString (GSRow *row, int32_t column, const GSChar *fieldValue) |
指定のSTRING型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsString (GSRow *row, int32_t column, const GSChar **fieldValue) |
指定のSTRING型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByBool (GSRow *row, int32_t column, GSBool fieldValue) |
指定のBOOL型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsBool (GSRow *row, int32_t column, GSBool *fieldValue) |
指定のBOOL型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByByte (GSRow *row, int32_t column, int8_t fieldValue) |
指定のBYTE型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsByte (GSRow *row, int32_t column, int8_t *fieldValue) |
指定のBYTE型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByShort (GSRow *row, int32_t column, int16_t fieldValue) |
指定のSHORT型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsShort (GSRow *row, int32_t column, int16_t *fieldValue) |
指定のSHORT型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByInteger (GSRow *row, int32_t column, int32_t fieldValue) |
指定のINTEGER型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsInteger (GSRow *row, int32_t column, int32_t *fieldValue) |
指定のINTEGER型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByLong (GSRow *row, int32_t column, int64_t fieldValue) |
指定のLONG型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsLong (GSRow *row, int32_t column, int64_t *fieldValue) |
指定のLONG型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByFloat (GSRow *row, int32_t column, float fieldValue) |
指定のFLOAT型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsFloat (GSRow *row, int32_t column, float *fieldValue) |
指定のFLOAT型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByDouble (GSRow *row, int32_t column, double fieldValue) |
指定のDOUBLE型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsDouble (GSRow *row, int32_t column, double *fieldValue) |
指定のDOUBLE型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByTimestamp (GSRow *row, int32_t column, GSTimestamp fieldValue) |
指定のTIMESTAMP型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsTimestamp (GSRow *row, int32_t column, GSTimestamp *fieldValue) |
指定のTIMESTAMP型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByGeometry (GSRow *row, int32_t column, const GSChar *fieldValue) |
指定のGEOMETRY型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsGeometry (GSRow *row, int32_t column, const GSChar **fieldValue) |
指定のGEOMETRY型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByBlob (GSRow *row, int32_t column, const GSBlob *fieldValue) |
指定のBLOB型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsBlob (GSRow *row, int32_t column, GSBlob *fieldValue) |
指定のBLOB型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByStringArray (GSRow *row, int32_t column, const GSChar *const *fieldValue, size_t size) |
指定のSTRING配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsStringArray (GSRow *row, int32_t column, const GSChar *const **fieldValue, size_t *size) |
指定のSTRING配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByBoolArray (GSRow *row, int32_t column, const GSBool *fieldValue, size_t size) |
指定のBOOL配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsBoolArray (GSRow *row, int32_t column, const GSBool **fieldValue, size_t *size) |
指定のBOOL配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByByteArray (GSRow *row, int32_t column, const int8_t *fieldValue, size_t size) |
指定のBYTE配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsByteArray (GSRow *row, int32_t column, const int8_t **fieldValue, size_t *size) |
指定のBYTE配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByShortArray (GSRow *row, int32_t column, const int16_t *fieldValue, size_t size) |
指定のSHORT配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsShortArray (GSRow *row, int32_t column, const int16_t **fieldValue, size_t *size) |
指定のSHORT配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByIntegerArray (GSRow *row, int32_t column, const int32_t *fieldValue, size_t size) |
指定のINTEGER配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsIntegerArray (GSRow *row, int32_t column, const int32_t **fieldValue, size_t *size) |
指定のINTEGER配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByLongArray (GSRow *row, int32_t column, const int64_t *fieldValue, size_t size) |
指定のLONG配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsLongArray (GSRow *row, int32_t column, const int64_t **fieldValue, size_t *size) |
指定のLONG配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByFloatArray (GSRow *row, int32_t column, const float *fieldValue, size_t size) |
指定のFLOAT配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsFloatArray (GSRow *row, int32_t column, const float **fieldValue, size_t *size) |
指定のFLOAT配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByDoubleArray (GSRow *row, int32_t column, const double *fieldValue, size_t size) |
指定のDOUBLE配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsDoubleArray (GSRow *row, int32_t column, const double **fieldValue, size_t *size) |
指定のDOUBLE配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetRowFieldByTimestampArray (GSRow *row, int32_t column, const GSTimestamp *fieldValue, size_t size) |
指定のTIMESTAMP配列型フィールドに値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowFieldAsTimestampArray (GSRow *row, int32_t column, const GSTimestamp **fieldValue, size_t *size) |
指定のTIMESTAMP配列型フィールドの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowByRow (GSRow *row, GSRow **destRow) |
同一のフィールド値からなる新たなGSRowインスタンスを作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsCreateRowKeyByRow (GSRow *row, GSRowKey **key) |
ロウキーを構成するカラムのみを持ち、それらのカラムについて同一のフィールド値からなる新たなGSRowKeyインスタンスを作成します。More... | |
Detailed Description
Typedef Documentation
typedef struct GSRowTag GSRow |
任意のスキーマについて汎用的にフィールド操作できるロウです。
- NULLが設定されたフィールドに対して型指定のフィールド値取得機能を用いた場合、NULLの代わりにGSContainerにて定義されている空の値が求まります。たとえば文字列型カラムに対応するフィールドにNULLが設定されており、かつ、gsGetRowFieldAsStringを用いた場合、
NULL
アドレスではなく、空の値である長さ0
の文字列を指すアドレスが求まります。
- Since
- 1.5
ロウキーに関するカラムのみから構成されるGSRowの一種です。
- gsGetRowSchemaより求まるGSContainerInfoに含まれるカラム情報は、ロウキーに関するカラムの情報のみとなります。
- Since
- 4.3
Function Documentation
GS_DLL_PUBLIC void GS_API_CALL gsCloseRow | ( | GSRow ** | row | ) |
同一のフィールド値からなる新たなGSRowインスタンスを作成します。
- Parameters
-
[in] row 作成元とするGSRow [out] destRow 新たに作成されるGSRowインスタンスを格納するための、ポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合
- 引数に
- Since
- 4.3
ロウキーを構成するカラムのみを持ち、それらのカラムについて同一のフィールド値からなる新たなGSRowKeyインスタンスを作成します。
- Parameters
-
[in] row 作成元とするGSRow [out] key 新たに作成されるGSRowKeyインスタンスを格納するための、ポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 作成元とするGSRowがロウキーを持たない場合
- 引数に
NULL
が指定された場合
- Since
- 4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsBlob | ( | GSRow * | row, |
int32_t | column, | ||
GSBlob * | fieldValue | ||
) |
指定のBLOB型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsBool | ( | GSRow * | row, |
int32_t | column, | ||
GSBool * | fieldValue | ||
) |
指定のBOOL型フィールドの値を取得します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsBoolArray | ( | GSRow * | row, |
int32_t | column, | ||
const GSBool ** | fieldValue, | ||
size_t * | size | ||
) |
指定のBOOL配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsByte | ( | GSRow * | row, |
int32_t | column, | ||
int8_t * | fieldValue | ||
) |
指定のBYTE型フィールドの値を取得します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsByteArray | ( | GSRow * | row, |
int32_t | column, | ||
const int8_t ** | fieldValue, | ||
size_t * | size | ||
) |
指定のBYTE配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsDouble | ( | GSRow * | row, |
int32_t | column, | ||
double * | fieldValue | ||
) |
指定のDOUBLE型フィールドの値を取得します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsDoubleArray | ( | GSRow * | row, |
int32_t | column, | ||
const double ** | fieldValue, | ||
size_t * | size | ||
) |
指定のDOUBLE配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsFloat | ( | GSRow * | row, |
int32_t | column, | ||
float * | fieldValue | ||
) |
指定のFLOAT型フィールドの値を取得します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsFloatArray | ( | GSRow * | row, |
int32_t | column, | ||
const float ** | fieldValue, | ||
size_t * | size | ||
) |
指定のFLOAT配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsGeometry | ( | GSRow * | row, |
int32_t | column, | ||
const GSChar ** | fieldValue | ||
) |
指定のGEOMETRY型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsInteger | ( | GSRow * | row, |
int32_t | column, | ||
int32_t * | fieldValue | ||
) |
指定のINTEGER型フィールドの値を取得します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsIntegerArray | ( | GSRow * | row, |
int32_t | column, | ||
const int32_t ** | fieldValue, | ||
size_t * | size | ||
) |
指定のINTEGER配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsLong | ( | GSRow * | row, |
int32_t | column, | ||
int64_t * | fieldValue | ||
) |
指定のLONG型フィールドの値を取得します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsLongArray | ( | GSRow * | row, |
int32_t | column, | ||
const int64_t ** | fieldValue, | ||
size_t * | size | ||
) |
指定のLONG配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsShort | ( | GSRow * | row, |
int32_t | column, | ||
int16_t * | fieldValue | ||
) |
指定のSHORT型フィールドの値を取得します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsShortArray | ( | GSRow * | row, |
int32_t | column, | ||
const int16_t ** | fieldValue, | ||
size_t * | size | ||
) |
指定のSHORT配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsString | ( | GSRow * | row, |
int32_t | column, | ||
const GSChar ** | fieldValue | ||
) |
指定のSTRING型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsStringArray | ( | GSRow * | row, |
int32_t | column, | ||
const GSChar *const ** | fieldValue, | ||
size_t * | size | ||
) |
指定のSTRING配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsTimestamp | ( | GSRow * | row, |
int32_t | column, | ||
GSTimestamp * | fieldValue | ||
) |
指定のTIMESTAMP型フィールドの値を取得します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldAsTimestampArray | ( | GSRow * | row, |
int32_t | column, | ||
const GSTimestamp ** | fieldValue, | ||
size_t * | size | ||
) |
指定のTIMESTAMP配列型フィールドの値を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size 対象フィールドの値の配列要素数を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowFieldGeneral | ( | GSRow * | row, |
int32_t | column, | ||
GSValue * | fieldValue, | ||
GSType * | type | ||
) |
指定のフィールドの値とその型を取得します。
- Attention
- フィールド値に含まれる可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[out] fieldValue 対象フィールドの値を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] type 対象フィールドの値の型を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- ポインタ型引数に
- Since
- 1.5
GS_STATIC_HEADER_FUNC_SPECIFIER GSResult gsGetRowSchema | ( | GSRow * | row, |
GSContainerInfo * | schemaInfo | ||
) |
指定のロウに対応するスキーマを取得します。
- ロウキーの有無を含むカラムレイアウトにする情報のみが設定されたGSContainerInfoが求まります。コンテナ名、コンテナ種別、索引設定、時系列構成オプションなどその他のコンテナ情報は含まれません。
- Attention
- カラム情報の列などの可変長データを格納するために、指定のGSRowと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用します。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] row 処理対象のGSRow [out] schemaInfo スキーマ情報を格納するためのGSContainerInfoへのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_CONTAINER_INFO_INITIALIZERと同一の内容の初期値が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByBlob | ( | GSRow * | row, |
int32_t | column, | ||
const GSBlob * | fieldValue | ||
) |
指定のBLOB型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByBool | ( | GSRow * | row, |
int32_t | column, | ||
GSBool | fieldValue | ||
) |
指定のBOOL型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByBoolArray | ( | GSRow * | row, |
int32_t | column, | ||
const GSBool * | fieldValue, | ||
size_t | size | ||
) |
指定のBOOL配列型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByByte | ( | GSRow * | row, |
int32_t | column, | ||
int8_t | fieldValue | ||
) |
指定のBYTE型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByByteArray | ( | GSRow * | row, |
int32_t | column, | ||
const int8_t * | fieldValue, | ||
size_t | size | ||
) |
指定のBYTE配列型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByDouble | ( | GSRow * | row, |
int32_t | column, | ||
double | fieldValue | ||
) |
指定のDOUBLE型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByDoubleArray | ( | GSRow * | row, |
int32_t | column, | ||
const double * | fieldValue, | ||
size_t | size | ||
) |
指定のDOUBLE配列型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByFloat | ( | GSRow * | row, |
int32_t | column, | ||
float | fieldValue | ||
) |
指定のFLOAT型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByFloatArray | ( | GSRow * | row, |
int32_t | column, | ||
const float * | fieldValue, | ||
size_t | size | ||
) |
指定のFLOAT配列型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByGeometry | ( | GSRow * | row, |
int32_t | column, | ||
const GSChar * | fieldValue | ||
) |
指定のGEOMETRY型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByInteger | ( | GSRow * | row, |
int32_t | column, | ||
int32_t | fieldValue | ||
) |
指定のINTEGER型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByIntegerArray | ( | GSRow * | row, |
int32_t | column, | ||
const int32_t * | fieldValue, | ||
size_t | size | ||
) |
指定のINTEGER配列型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByLong | ( | GSRow * | row, |
int32_t | column, | ||
int64_t | fieldValue | ||
) |
指定のLONG型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByLongArray | ( | GSRow * | row, |
int32_t | column, | ||
const int64_t * | fieldValue, | ||
size_t | size | ||
) |
指定のLONG配列型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByShort | ( | GSRow * | row, |
int32_t | column, | ||
int16_t | fieldValue | ||
) |
指定のSHORT型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByShortArray | ( | GSRow * | row, |
int32_t | column, | ||
const int16_t * | fieldValue, | ||
size_t | size | ||
) |
指定のSHORT配列型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByString | ( | GSRow * | row, |
int32_t | column, | ||
const GSChar * | fieldValue | ||
) |
指定のSTRING型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByStringArray | ( | GSRow * | row, |
int32_t | column, | ||
const GSChar *const * | fieldValue, | ||
size_t | size | ||
) |
指定のSTRING配列型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- 配列要素に
NULL
が含まれる場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByTimestamp | ( | GSRow * | row, |
int32_t | column, | ||
GSTimestamp | fieldValue | ||
) |
指定のTIMESTAMP型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldByTimestampArray | ( | GSRow * | row, |
int32_t | column, | ||
const GSTimestamp * | fieldValue, | ||
size_t | size | ||
) |
指定のTIMESTAMP配列型フィールドに値を設定します。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値 [in] size 対象フィールドの値の配列要素数
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- 指定のカラム番号の型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetRowFieldGeneral | ( | GSRow * | row, |
int32_t | column, | ||
const GSValue * | fieldValue, | ||
GSType | type | ||
) |
指定のフィールドに値を設定します。
- Attention
- 対象フィールドの値とその型との対応が一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] row 処理対象のGSRow [in] column 対象フィールドのカラム番号。 0
以上かつカラム数未満の値[in] fieldValue 対象フィールドの値。 type
としてGS_TYPE_NULLが指定された場合は、指定の内容が参照されることはありません。ただし、NULL
以外のポインタ値を指定する必要があります[in] type 対象フィールドの値の型
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 範囲外のカラム番号が指定された場合
- NOT NULL制約の設定されたカラムに対して、フィールド値の型としてGS_TYPE_NULLが指定された場合
- フィールドの値の構成要素のポインタ値として
NULL
が含まれていた場合 - フィールドの値がカラムの型と一致しない場合
- ポインタ型引数に
- Since
- 1.5
Typedefs | |
typedef struct GSRowKeyPredicateTag | GSRowKeyPredicate |
ロウキーの合致条件を表します。More... | |
Functions | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseRowKeyPredicate (GSRowKeyPredicate **predicate) |
指定のGSRowKeyPredicateインスタンスを解放します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateKeyType (GSRowKeyPredicate *predicate, GSType *keyType) |
合致条件の評価対象とするロウキーの型を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateKeySchema (GSRowKeyPredicate *predicate, GSContainerInfo *info) |
合致条件の評価対象とするロウキーのスキーマを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartGeneralKey (GSRowKeyPredicate *predicate, GSRowKey **keyObj) |
範囲条件の開始位置とするロウキーを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyGeneral (GSRowKeyPredicate *predicate, const GSValue **startKey) |
範囲条件の開始位置とする、単一カラムのロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsString (GSRowKeyPredicate *predicate, const GSChar **startKey) |
範囲条件の開始位置とするSTRING型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsInteger (GSRowKeyPredicate *predicate, const int32_t **startKey) |
範囲条件の開始位置とするINTEGER型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsLong (GSRowKeyPredicate *predicate, const int64_t **startKey) |
範囲条件の開始位置とするLONG型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateStartKeyAsTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp **startKey) |
範囲条件の開始位置とするTIMESTAMP型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishGeneralKey (GSRowKeyPredicate *predicate, GSRowKey **keyObj) |
範囲条件の終了位置とするロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyGeneral (GSRowKeyPredicate *predicate, const GSValue **finishKey) |
範囲条件の終了位置とする、単一カラムのロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsString (GSRowKeyPredicate *predicate, const GSChar **finishKey) |
範囲条件の終了位置とするSTRING型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsInteger (GSRowKeyPredicate *predicate, const int32_t **finishKey) |
範囲条件の終了位置とするINTEGER型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsLong (GSRowKeyPredicate *predicate, const int64_t **finishKey) |
範囲条件の終了位置とするLONG型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateFinishKeyAsTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp **finishKey) |
範囲条件の終了位置とするTIMESTAMP型ロウキーの値を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctGeneralKeys (GSRowKeyPredicate *predicate, GSRowKey *const **keyObjList, size_t *size) |
個別条件を構成するロウキーの集合を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysGeneral (GSRowKeyPredicate *predicate, const GSValue **keyList, size_t *size) |
個別条件を構成する、単一カラムのロウキーの値の集合を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsString (GSRowKeyPredicate *predicate, const GSChar *const **keyList, size_t *size) |
個別条件を構成するSTRING型ロウキーの値の集合を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsInteger (GSRowKeyPredicate *predicate, const int32_t **keyList, size_t *size) |
個別条件を構成するINTEGER型ロウキーの値の集合を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsLong (GSRowKeyPredicate *predicate, const int64_t **keyList, size_t *size) |
個別条件を構成するLONG型ロウキーの値の集合を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetPredicateDistinctKeysAsTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp **keyList, size_t *size) |
個別条件を構成するTIMESTAMP型ロウキーの値の集合を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartGeneralKey (GSRowKeyPredicate *predicate, GSRowKey *keyObj) |
範囲条件の開始位置とするロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyGeneral (GSRowKeyPredicate *predicate, const GSValue *startKey, GSType keyType) |
範囲条件の開始位置とする、単一カラムのロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByString (GSRowKeyPredicate *predicate, const GSChar *startKey) |
範囲条件の開始位置とするSTRING型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByInteger (GSRowKeyPredicate *predicate, const int32_t *startKey) |
範囲条件の開始位置とするINTEGER型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByLong (GSRowKeyPredicate *predicate, const int64_t *startKey) |
範囲条件の開始位置とするLONG型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateStartKeyByTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp *startKey) |
範囲条件の開始位置とするTIMESTAMP型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishGeneralKey (GSRowKeyPredicate *predicate, GSRowKey *keyObj) |
範囲条件の終了位置とするロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyGeneral (GSRowKeyPredicate *predicate, const GSValue *finishKey, GSType keyType) |
範囲条件の終了位置とする、単一カラムのロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByString (GSRowKeyPredicate *predicate, const GSChar *finishKey) |
範囲条件の終了位置とするSTRING型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByInteger (GSRowKeyPredicate *predicate, const int32_t *finishKey) |
範囲条件の終了位置とするINTEGER型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByLong (GSRowKeyPredicate *predicate, const int64_t *finishKey) |
範囲条件の終了位置とするLONG型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsSetPredicateFinishKeyByTimestamp (GSRowKeyPredicate *predicate, const GSTimestamp *finishKey) |
範囲条件の終了位置とするTIMESTAMP型ロウキーの値を設定します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateGeneralKey (GSRowKeyPredicate *predicate, GSRowKey *keyObj) |
個別条件の要素の一つとするロウキーの値を追加します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyGeneral (GSRowKeyPredicate *predicate, const GSValue *key, GSType keyType) |
個別条件の要素の一つとする、単一カラムのロウキーの値を追加します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByString (GSRowKeyPredicate *predicate, const GSChar *key) |
個別条件の要素の一つとするSTRING型ロウキーの値を追加します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByInteger (GSRowKeyPredicate *predicate, int32_t key) |
個別条件の要素の一つとするINTEGER型ロウキーの値を追加します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByLong (GSRowKeyPredicate *predicate, int64_t key) |
個別条件の要素の一つとするLONG型ロウキーの値を追加します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAddPredicateKeyByTimestamp (GSRowKeyPredicate *predicate, GSTimestamp key) |
個別条件の要素の一つとするTIMESTAMP型ロウキーの値を追加します。More... | |
Detailed Description
Typedef Documentation
typedef struct GSRowKeyPredicateTag GSRowKeyPredicate |
ロウキーの合致条件を表します。
- gsGetMultipleContainerRowsにおける取得条件を構成するために使用できます。
- 条件の種別として、範囲条件と個別条件の2つの種別があります。両方の種別の条件を共に指定することはできません。条件の内容を何も指定しない場合、対象とするすべてのロウキーに合致することを表します。
- Since
- 1.5
Function Documentation
GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateGeneralKey | ( | GSRowKeyPredicate * | predicate, |
GSRowKey * | keyObj | ||
) |
個別条件の要素の一つとするロウキーの値を追加します。
- 追加された値と同一の値のロウキーは合致するものとみなされるようになります。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] keyObj 個別条件の要素の一つとするロウキー
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合 - 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- 引数に
- Since
- 4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateKeyByInteger | ( | GSRowKeyPredicate * | predicate, |
int32_t | key | ||
) |
個別条件の要素の一つとするINTEGER型ロウキーの値を追加します。
- 追加された値と同一の値のロウキーは合致するものとみなされるようになります。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] key 個別条件の要素の一つとするロウキーの値終了位置とするロウキーの値。 NULL
の場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateKeyByLong | ( | GSRowKeyPredicate * | predicate, |
int64_t | key | ||
) |
個別条件の要素の一つとするLONG型ロウキーの値を追加します。
- 追加された値と同一の値のロウキーは合致するものとみなされるようになります。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] key 個別条件の要素の一つとするロウキーの値終了位置とするロウキーの値。 NULL
の場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateKeyByString | ( | GSRowKeyPredicate * | predicate, |
const GSChar * | key | ||
) |
個別条件の要素の一つとするSTRING型ロウキーの値を追加します。
- 追加された値と同一の値のロウキーは合致するものとみなされるようになります。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] key 個別条件の要素の一つとするロウキーの値終了位置とするロウキーの値。 NULL
の場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateKeyByTimestamp | ( | GSRowKeyPredicate * | predicate, |
GSTimestamp | key | ||
) |
個別条件の要素の一つとするTIMESTAMP型ロウキーの値を追加します。
- 追加された値と同一の値のロウキーは合致するものとみなされるようになります。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] key 個別条件の要素の一つとするロウキーの値終了位置とするロウキーの値。 NULL
の場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsAddPredicateKeyGeneral | ( | GSRowKeyPredicate * | predicate, |
const GSValue * | key, | ||
GSType | keyType | ||
) |
個別条件の要素の一つとする、単一カラムのロウキーの値を追加します。
- 追加された値と同一の値のロウキーは合致するものとみなされるようになります。
- Attention
- 指定ロウキーの値とその型との対応が一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] key 個別条件の要素の一つとするロウキー [in] keyType 個別条件の要素の一つとするロウキーの値の型
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- ポインタ型引数に
NULL
が指定された場合 - 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- ポインタ型引数に
- Since
- 1.5
GS_DLL_PUBLIC void GS_API_CALL gsCloseRowKeyPredicate | ( | GSRowKeyPredicate ** | predicate | ) |
指定のGSRowKeyPredicateインスタンスを解放します。
- Parameters
-
[in,out] predicate クローズ対象のGSRowKeyPredicateインスタンスを指しているポインタ変数へのポインタ値。クローズすると、ポインタ変数に NULL
が設定されます。以後、解放したGSRowKeyPredicateインスタンスにアクセスしてはなりません。ポインタ値またはポインタ変数の値がNULL
の場合は、クローズ処理を行いません。
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctGeneralKeys | ( | GSRowKeyPredicate * | predicate, |
GSRowKey *const ** | keyObjList, | ||
size_t * | size | ||
) |
個別条件を構成するロウキーの集合を取得します。
- Attention
- ロウキーの列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] keyObjList 個別条件を構成するロウキーの集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size 個別条件を構成するロウキーの集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は 0
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合
- 引数に
- Since
- 4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctKeysAsInteger | ( | GSRowKeyPredicate * | predicate, |
const int32_t ** | keyList, | ||
size_t * | size | ||
) |
個別条件を構成するINTEGER型ロウキーの値の集合を取得します。
- Attention
- 値ならびにその列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] keyList 個別条件を構成するロウキーの値の集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size 個別条件を構成するロウキーの値の集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は 0
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合 - 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctKeysAsLong | ( | GSRowKeyPredicate * | predicate, |
const int64_t ** | keyList, | ||
size_t * | size | ||
) |
個別条件を構成するLONG型ロウキーの値の集合を取得します。
- Attention
- 値ならびにその列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] keyList 個別条件を構成するロウキーの値の集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size 個別条件を構成するロウキーの値の集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は 0
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合 - 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctKeysAsString | ( | GSRowKeyPredicate * | predicate, |
const GSChar *const ** | keyList, | ||
size_t * | size | ||
) |
個別条件を構成するSTRING型ロウキーの値の集合を取得します。
- Attention
- 値ならびにその列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] keyList 個別条件を構成するロウキーの値の集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size 個別条件を構成するロウキーの値の集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は 0
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合 - 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctKeysAsTimestamp | ( | GSRowKeyPredicate * | predicate, |
const GSTimestamp ** | keyList, | ||
size_t * | size | ||
) |
個別条件を構成するTIMESTAMP型ロウキーの値の集合を取得します。
- Attention
- 値ならびにその列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] keyList 個別条件を構成するロウキーの値の集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size 個別条件を構成するロウキーの値の集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は 0
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合 - 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateDistinctKeysGeneral | ( | GSRowKeyPredicate * | predicate, |
const GSValue ** | keyList, | ||
size_t * | size | ||
) |
個別条件を構成する、単一カラムのロウキーの値の集合を取得します。
- Attention
- 値ならびにその列を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] keyList 個別条件を構成するロウキーの値の集合を構成する配列のアドレスを格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。[out] size 個別条件を構成するロウキーの値の集合の要素数を格納するための変数へのポインタ値。個別条件が設定されていない場合は 0
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、0
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 複合ロウキーについての合致条件が指定された場合
- 引数に
NULL
が指定された場合
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishGeneralKey | ( | GSRowKeyPredicate * | predicate, |
GSRowKey ** | keyObj | ||
) |
範囲条件の終了位置とするロウキーの値を取得します。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] keyObj 終了位置とするロウキーとして新たに作成されるGSRowKeyインスタンスを格納するための、ポインタ変数へのポインタ値。終了位置が設定されていない場合は NULL
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合
- 引数に
- Since
- 4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishKeyAsInteger | ( | GSRowKeyPredicate * | predicate, |
const int32_t ** | finishKey | ||
) |
範囲条件の終了位置とするINTEGER型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] finishKey 終了位置とするロウキーの値を格納するための変数へのポインタ値。終了位置が設定されていない場合は NULL
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合 - 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishKeyAsLong | ( | GSRowKeyPredicate * | predicate, |
const int64_t ** | finishKey | ||
) |
範囲条件の終了位置とするLONG型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] finishKey 終了位置とするロウキーの値を格納するための変数へのポインタ値。終了位置が設定されていない場合は NULL
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合 - 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishKeyAsString | ( | GSRowKeyPredicate * | predicate, |
const GSChar ** | finishKey | ||
) |
範囲条件の終了位置とするSTRING型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] finishKey 終了位置とするロウキーの値を格納するための変数へのポインタ値。終了位置が設定されていない場合は NULL
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合 - 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishKeyAsTimestamp | ( | GSRowKeyPredicate * | predicate, |
const GSTimestamp ** | finishKey | ||
) |
範囲条件の終了位置とするTIMESTAMP型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] finishKey 終了位置とするロウキーの値を格納するための変数へのポインタ値。終了位置が設定されていない場合は NULL
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合 - 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateFinishKeyGeneral | ( | GSRowKeyPredicate * | predicate, |
const GSValue ** | finishKey | ||
) |
範囲条件の終了位置とする、単一カラムのロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] finishKey 終了位置とするロウキーの値を格納するための変数へのポインタ値。終了位置が設定されていない場合は NULL
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 複合ロウキーについての合致条件が指定された場合
- 引数に
NULL
が指定された場合
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateKeySchema | ( | GSRowKeyPredicate * | predicate, |
GSContainerInfo * | info | ||
) |
合致条件の評価対象とするロウキーのスキーマを取得します。
- この合致条件の作成に用いられた情報に、ロウキー以外のカラム情報やスキーマ以外のコンテナ情報が含まれていたとしても、返却されるスキーマ情報には含まれません。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] info スキーマ情報を格納するためのGSContainerInfoへのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_CONTAINER_INFO_INITIALIZERと同一の内容の初期値が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合
- 引数に
- Since
- 4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateKeyType | ( | GSRowKeyPredicate * | predicate, |
GSType * | keyType | ||
) |
合致条件の評価対象とするロウキーの型を取得します。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] keyType 合致条件の評価対象とするロウキーの型を格納するための変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、 NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartGeneralKey | ( | GSRowKeyPredicate * | predicate, |
GSRowKey ** | keyObj | ||
) |
範囲条件の開始位置とするロウキーを取得します。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] keyObj 開始位置とするロウキーとして新たに作成されるGSRowKeyインスタンスを格納するための、ポインタ変数へのポインタ値。開始位置が設定されていない場合は NULL
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合
- 引数に
- Since
- 4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartKeyAsInteger | ( | GSRowKeyPredicate * | predicate, |
const int32_t ** | startKey | ||
) |
範囲条件の開始位置とするINTEGER型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] startKey 開始位置とするロウキーの値を格納するための変数へのポインタ値。開始位置が設定されていない場合は NULL
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合 - 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartKeyAsLong | ( | GSRowKeyPredicate * | predicate, |
const int64_t ** | startKey | ||
) |
範囲条件の開始位置とするLONG型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] startKey 開始位置とするロウキーの値を格納するための変数へのポインタ値。開始位置が設定されていない場合は NULL
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合 - 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartKeyAsString | ( | GSRowKeyPredicate * | predicate, |
const GSChar ** | startKey | ||
) |
範囲条件の開始位置とするSTRING型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] startKey 開始位置とするロウキーの値を格納するための変数へのポインタ値。開始位置が設定されていない場合は NULL
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合 - 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartKeyAsTimestamp | ( | GSRowKeyPredicate * | predicate, |
const GSTimestamp ** | startKey | ||
) |
範囲条件の開始位置とするTIMESTAMP型ロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] startKey 開始位置とするロウキーの値を格納するための変数へのポインタ値。開始位置が設定されていない場合は NULL
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 引数に
NULL
が指定された場合 - 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- 引数に
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetPredicateStartKeyGeneral | ( | GSRowKeyPredicate * | predicate, |
const GSValue ** | startKey | ||
) |
範囲条件の開始位置とする、単一カラムのロウキーの値を取得します。
- Attention
- 値を格納する領域を確保するために、指定のGSRowKeyPredicateと関係するGSGridStoreインスタンス上で管理される一時的なメモリ領域を使用する場合があります。この領域は、指定のGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [out] startKey 開始位置とするロウキーの値を格納するための変数へのポインタ値。開始位置が設定されていない場合は NULL
が格納されます。実行結果としてGS_RESULT_OK以外が返される場合、NULL
が格納されます。ポインタ値がNULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 複合ロウキーについての合致条件が指定された場合
- 引数に
NULL
が指定された場合
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishGeneralKey | ( | GSRowKeyPredicate * | predicate, |
GSRowKey * | keyObj | ||
) |
範囲条件の終了位置とするロウキーの値を設定します。
- 設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
- STRING型のロウキーまたはその型を含む複合ロウキーのように、大小関係が定義されていないロウキーの場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] keyObj 終了位置とするロウキー。 NULL
の場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
predicate
引数にNULL
が指定された場合- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- Since
- 4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishKeyByInteger | ( | GSRowKeyPredicate * | predicate, |
const int32_t * | finishKey | ||
) |
範囲条件の終了位置とするINTEGER型ロウキーの値を設定します。
- 設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] finishKey 終了位置とするロウキーの値。 NULL
の場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
predicate
引数にNULL
が指定された場合- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishKeyByLong | ( | GSRowKeyPredicate * | predicate, |
const int64_t * | finishKey | ||
) |
範囲条件の終了位置とするLONG型ロウキーの値を設定します。
- 設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] finishKey 終了位置とするロウキーの値。 NULL
の場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
predicate
引数にNULL
が指定された場合- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishKeyByString | ( | GSRowKeyPredicate * | predicate, |
const GSChar * | finishKey | ||
) |
範囲条件の終了位置とするSTRING型ロウキーの値を設定します。
- 設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
- STRING型では大小関係が定義されていないため、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] finishKey 終了位置とするロウキーの値。 NULL
の場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
predicate
引数にNULL
が指定された場合- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishKeyByTimestamp | ( | GSRowKeyPredicate * | predicate, |
const GSTimestamp * | finishKey | ||
) |
範囲条件の終了位置とするTIMESTAMP型ロウキーの値を設定します。
- 設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] finishKey 終了位置とするロウキーの値。 NULL
の場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
predicate
引数にNULL
が指定された場合- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateFinishKeyGeneral | ( | GSRowKeyPredicate * | predicate, |
const GSValue * | finishKey, | ||
GSType | keyType | ||
) |
範囲条件の終了位置とする、単一カラムのロウキーの値を設定します。
- 設定された値より大きな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Attention
- 指定ロウキーの値とその型との対応が一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] finishKey 終了位置とするロウキーの値。 NULL
の場合、設定が解除されます[in] keyType 終了位置とするロウキーの値の型
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
predicate
引数にNULL
が指定された場合- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartGeneralKey | ( | GSRowKeyPredicate * | predicate, |
GSRowKey * | keyObj | ||
) |
範囲条件の開始位置とするロウキーの値を設定します。
- 設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
- STRING型のロウキーまたはその型を含む複合ロウキーのように、大小関係が定義されていないロウキーの場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] keyObj 開始位置とするロウキー。 NULL
の場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
predicate
引数にNULL
が指定された場合- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- Since
- 4.3
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartKeyByInteger | ( | GSRowKeyPredicate * | predicate, |
const int32_t * | startKey | ||
) |
範囲条件の開始位置とするINTEGER型ロウキーの値を設定します。
- 設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] startKey 開始位置とするロウキーの値。 NULL
の場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
predicate
引数にNULL
が指定された場合- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartKeyByLong | ( | GSRowKeyPredicate * | predicate, |
const int64_t * | startKey | ||
) |
範囲条件の開始位置とするLONG型ロウキーの値を設定します。
- 設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] startKey 開始位置とするロウキーの値。 NULL
の場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
predicate
引数にNULL
が指定された場合- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartKeyByString | ( | GSRowKeyPredicate * | predicate, |
const GSChar * | startKey | ||
) |
範囲条件の開始位置とするSTRING型ロウキーの値を設定します。
- 設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
- STRING型では大小関係が定義されていないため、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] startKey 開始位置とするロウキーの値。 NULL
の場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
predicate
引数にNULL
が指定された場合- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartKeyByTimestamp | ( | GSRowKeyPredicate * | predicate, |
const GSTimestamp * | startKey | ||
) |
範囲条件の開始位置とするTIMESTAMP型ロウキーの値を設定します。
- 設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] startKey 開始位置とするロウキーの値。 NULL
の場合、設定が解除されます
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
predicate
引数にNULL
が指定された場合- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- Since
- 1.5
GS_DLL_PUBLIC GSResult GS_API_CALL gsSetPredicateStartKeyGeneral | ( | GSRowKeyPredicate * | predicate, |
const GSValue * | startKey, | ||
GSType | keyType | ||
) |
範囲条件の開始位置とする、単一カラムのロウキーの値を設定します。
- 設定された値より小さな値のロウキーは合致しないものとみなされるようになります。
- STRING型のように大小関係の定義されていない型の場合、条件として設定はできるものの、実際の判定に用いることはできません。
- Attention
- 指定ロウキーの値とその型との対応が一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] predicate 処理対象のGSRowKeyPredicate [in] startKey 開始位置とするロウキーの値。 NULL
の場合、設定が解除されます[in] keyType 開始位置とするロウキーの値の型
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
predicate
引数にNULL
が指定された場合- 個別条件がすでに設定されていた場合
- 期待した型が合致条件の評価対象とするロウキーの型と異なる場合
- Since
- 1.5
Typedefs | |
typedef struct GSRowSetTag | GSRowSet |
クエリ実行より求めたロウの集合を管理します。More... | |
Functions | |
GS_DLL_PUBLIC void GS_API_CALL | gsCloseRowSet (GSRowSet **rowSet) |
指定のGSRowSetインスタンスを解放します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsDeleteCurrentRow (GSRowSet *rowSet) |
現在のカーソル位置のロウを削除します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetNextRow (GSRowSet *rowSet, void *rowObj) |
ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるロウオブジェクトを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetNextAggregation (GSRowSet *rowSet, GSAggregationResult **aggregationResult) |
ロウ集合内の後続のロウにカーソル移動し、移動後の位置にある集計結果を取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetNextQueryAnalysis (GSRowSet *rowSet, GSQueryAnalysisEntry *queryAnalysis) |
ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるクエリ解析結果エントリを取得します。More... | |
GS_DLL_PUBLIC GSRowSetType GS_API_CALL | gsGetRowSetType (GSRowSet *rowSet) |
ロウ集合の種別を取得します。More... | |
GS_DLL_PUBLIC int32_t GS_API_CALL | gsGetRowSetSize (GSRowSet *rowSet) |
ロウ集合のサイズ、すなわちロウ集合作成時点におけるロウの数を返します。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsHasNextRow (GSRowSet *rowSet) |
現在のカーソル位置を基準として、ロウ集合内に後続のロウが存在するかどうかを返します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsUpdateCurrentRow (GSRowSet *rowSet, const void *rowObj) |
現在のカーソル位置のロウについて、指定のロウオブジェクトを使用してロウキー以外の値を更新します。More... | |
Detailed Description
Typedef Documentation
typedef struct GSRowSetTag GSRowSet |
クエリ実行より求めたロウの集合を管理します。
- ロウ単位・ロウフィールド単位での操作機能を持ち、対象とするロウを指し示すためのカーソル状態を保持します。初期状態のカーソルは、ロウ集合の先頭より手前に位置しています。
Function Documentation
GS_DLL_PUBLIC void GS_API_CALL gsCloseRowSet | ( | GSRowSet ** | rowSet | ) |
現在のカーソル位置のロウを削除します。
- ロックを有効にして取得したGSRowSetに対してのみ使用できます。また、gsDeleteRowと同様、コンテナの種別ならびに設定によっては、さらに制限が設けられています。
- Parameters
-
[in] rowSet 処理対象のGSRowSet
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のロウ集合の種別がGS_ROW_SET_CONTAINER_ROWS以外の場合
- 対象位置のロウが存在しない場合
- ロックを有効にせずに取得したGSRowSetに対して呼び出された場合
- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、または対応するコンテナのクローズ後に呼び出された場合
- 引数に
NULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetNextAggregation | ( | GSRowSet * | rowSet, |
GSAggregationResult ** | aggregationResult | ||
) |
ロウ集合内の後続のロウにカーソル移動し、移動後の位置にある集計結果を取得します。
- Parameters
-
[in] rowSet 処理対象のGSRowSet [out] aggregationResult 集計結果をGSAggregationResultとして格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のロウ集合の種別がGS_ROW_SET_AGGREGATION_RESULT以外の場合
- 対象位置の集計結果が存在しない場合
- 引数に
NULL
が指定された場合 - 対応するGSContainerのクローズ後に呼び出された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetNextQueryAnalysis | ( | GSRowSet * | rowSet, |
GSQueryAnalysisEntry * | queryAnalysis | ||
) |
ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるクエリ解析結果エントリを取得します。
- Parameters
-
[in] rowSet 処理対象のGSRowSet [out] queryAnalysis クエリ解析結果エントリの内容を格納するためのGSQueryAnalysisEntry。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、GS_QUERY_ANALYSIS_ENTRY_INITIALIZERと同一の内容の初期値が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のロウ集合の種別がGS_ROW_SET_QUERY_ANALYSIS以外の場合
- 対象位置のエントリが存在しない場合
- 引数に
NULL
が指定された場合 - 対応するGSContainerのクローズ後に呼び出された場合
ロウ集合内の後続のロウにカーソル移動し、移動後の位置にあるロウオブジェクトを取得します。
- GS_FETCH_PARTIAL_EXECUTIONが有効に設定されていた場合、クエリ実行処理の続きを行う場合があります。
- Attention
- 対応するGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSRowSetと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] rowSet 処理対象のGSRowSet [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のロウ集合の種別がGS_ROW_SET_CONTAINER_ROWS以外の場合
- 対象位置のロウが存在しない場合
- 引数に
NULL
が指定された場合 - この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- 対応するGSContainerのクローズ後に呼び出された場合
GS_DLL_PUBLIC int32_t GS_API_CALL gsGetRowSetSize | ( | GSRowSet * | rowSet | ) |
ロウ集合のサイズ、すなわちロウ集合作成時点におけるロウの数を返します。
- GS_FETCH_PARTIAL_EXECUTIONが有効に設定されていた場合、クエリ実行処理の進行状況によらず、結果を求めることはできません。
- Parameters
-
[in] rowSet 処理対象のGSRowSet
- Returns
- ロウ集合のサイズ。ただし、
rowSet
にNULL
が指定された場合、またはオプション設定の影響によりロウの数を取得できない場合は-1
GS_DLL_PUBLIC GSRowSetType GS_API_CALL gsGetRowSetType | ( | GSRowSet * | rowSet | ) |
ロウ集合の種別を取得します。
- ロウ集合の種別に応じて、それぞれ次の取得機能が使用できます。
ロウ集合の種別 使用できる取得機能 GS_ROW_SET_CONTAINER_ROWS gsGetNextRow GS_ROW_SET_AGGREGATION_RESULT gsGetNextAggregation GS_ROW_SET_QUERY_ANALYSIS gsGetNextQueryAnalysis
- Parameters
-
[in] rowSet 処理対象のGSRowSet
- Returns
- ロウ集合の種別。ただし、
rowSet
にNULL
が指定された場合は-1
現在のカーソル位置のロウについて、指定のロウオブジェクトを使用してロウキー以外の値を更新します。
- Attention
- 対応するGSContainerにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] rowSet 処理対象のGSRowSet [in] rowObj 更新するロウの内容と対応するロウオブジェクト。ロウキーの内容は無視されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のロウ集合の種別がGS_ROW_SET_CONTAINER_ROWS以外の場合
- 対象位置のロウが存在しない場合
- ロックを有効にせずに取得したGSRowSetに対して呼び出された場合
- この処理または関連するトランザクションのタイムアウト、対応するコンテナの削除もしくはスキーマ変更、接続障害が発生した場合、または対応するコンテナのクローズ後に呼び出された場合。また、指定のロウオブジェクト内のロウキー以外のフィールドについて、文字列など可変長サイズのデータへのポインタ値に
NULL
が含まれていた場合 - 引数に
NULL
が指定された場合
Typedefs | |
typedef GSContainer | GSTimeSeries |
時刻をロウキーとする、時系列処理に特化したコンテナです。More... | |
Functions | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAggregateTimeSeries (GSTimeSeries *timeSeries, GSTimestamp start, GSTimestamp end, const GSChar *column, GSAggregation aggregation, GSAggregationResult **aggregationResult) |
開始・終了時刻を指定して、ロウ集合またはその特定のカラムに対し集計演算を行います。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsAppendTimeSeriesRow (GSTimeSeries *timeSeries, const void *rowObj, GSBool *exists) |
GridDB上の現在時刻をロウキーとして、ロウを新規作成または更新します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsGetRowByBaseTime (GSTimeSeries *timeSeries, GSTimestamp base, GSTimeOperator timeOp, void *rowObj, GSBool *exists) |
指定の時刻を基準として、関係する1つのロウを取得します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsInterpolateTimeSeriesRow (GSTimeSeries *timeSeries, GSTimestamp base, const GSChar *column, void *rowObj, GSBool *exists) |
指定時刻に相当するロウオブジェクトについて、線形補間などを行い生成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByTimeSeriesRange (GSTimeSeries *timeSeries, GSTimestamp start, GSTimestamp end, GSQuery **query) |
開始時刻・終了時刻を指定して、特定範囲のロウ集合を求めるクエリを作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByTimeSeriesOrderedRange (GSTimeSeries *timeSeries, const GSTimestamp *start, const GSTimestamp *end, GSQueryOrder order, GSQuery **query) |
開始時刻・終了時刻・順序を指定して、特定範囲のロウ集合を求めるクエリを作成します。More... | |
GS_DLL_PUBLIC GSResult GS_API_CALL | gsQueryByTimeSeriesSampling (GSTimeSeries *timeSeries, GSTimestamp start, GSTimestamp end, const GSChar *const *columnSet, size_t columnCount, GSInterpolationMode mode, int32_t interval, GSTimeUnit intervalUnit, GSQuery **query) |
特定範囲のロウ集合をサンプリングするクエリを作成します。More... | |
Detailed Description
Typedef Documentation
typedef GSContainer GSTimeSeries |
時刻をロウキーとする、時系列処理に特化したコンテナです。
- 一般的に、範囲取得や集計演算といった処理は、GSCollectionよりも効率的な実装が選択されます。
- ロウ操作については、GSCollectionと異なり一部制限が設けられています。GSTimeSeriesPropertiesに基づき圧縮オプションが設定されている場合、次のロウ操作を行えません。
- 指定ロウの更新
- 指定ロウの削除
- 指定時刻より新しい時刻のロウが存在する場合の、ロウの新規作成
- gsQueryもしくはgsGetMultipleContainerRowsなどより複数のロウの内容を一度に取得する場合、特に指定がなければ、返却されるロウの順序はロウキーの時刻を基準としてGS_ORDER_ASCENDING相当の順序に整列されます。
- ロック粒度は、1つ以上のロウ集合をひとまとまりとする内部格納単位となります。したがって、特定ロウについてロックする際、そのロウが属する内部格納単位上の他のロウも同時にロックしようとします。
Function Documentation
GS_DLL_PUBLIC GSResult GS_API_CALL gsAggregateTimeSeries | ( | GSTimeSeries * | timeSeries, |
GSTimestamp | start, | ||
GSTimestamp | end, | ||
const GSChar * | column, | ||
GSAggregation | aggregation, | ||
GSAggregationResult ** | aggregationResult | ||
) |
開始・終了時刻を指定して、ロウ集合またはその特定のカラムに対し集計演算を行います。
column
はaggregation
次第で無視されることがあります。演算対象には、開始・終了時刻と合致する境界上のロウも含まれます。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。
- Parameters
-
[in] timeSeries 処理対象のGSTimeSeries [in] start 開始時刻 [in] end 終了時刻 [in] column 集計対象のカラム名。合計演算のように、特定のカラムを対象としない場合は NULL
[in] aggregation 集計方法 [out] aggregationResult 集計結果をGSAggregationResultとして格納するためのポインタ変数へのポインタ値。対象時系列の内容と集計方法によっては、 NULL
が設定されることもあります。詳細はGSAggregationの定義を参照してください。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値がNULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のコンテナの種別が時系列ではない場合
- 指定の演算方法で許可されていない型のカラムを指定した場合
- 対応する名前のカラムが存在しない場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- ポインタ型引数に
NULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsAppendTimeSeriesRow | ( | GSTimeSeries * | timeSeries, |
const void * | rowObj, | ||
GSBool * | exists | ||
) |
GridDB上の現在時刻をロウキーとして、ロウを新規作成または更新します。
- GridDB上の現在時刻に相当するTIMESTAMP値をロウキーとする点を除き、gsPutRowと同様に振る舞います。指定のロウオブジェクト内のロウキーは無視されます。
- 圧縮オプションが設定された状態の時系列に対しては、GridDB上の現在時刻より新しい時刻のロウが存在しない場合のみ使用できます。最も新しい時刻を持つ既存ロウの時刻が現在時刻と一致する場合、何も変更は行わず既存ロウの内容を保持します。
- 手動コミットモードの場合、対象のロウがロックされます。また、内部格納単位が同一の他のロウもロックされます。
- Attention
- 指定のGSTimeSeriesにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- Parameters
-
[in] timeSeries 処理対象のGSTimeSeries [in] rowObj 新規作成または更新するロウの内容と対応するロウオブジェクト [out] exists GridDB上の現在時刻と一致するロウが存在したかどうかを格納するための、ブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定の時系列について圧縮オプションが設定されており、現在時刻より新しい時刻のロウが存在した場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値がロウオブジェクトに含まれていた場合
exists
以外の引数にNULL
が指定された場合。また、指定のロウオブジェクトについて、文字列など可変長サイズのデータへのポインタ値にNULL
が含まれていた場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsGetRowByBaseTime | ( | GSTimeSeries * | timeSeries, |
GSTimestamp | base, | ||
GSTimeOperator | timeOp, | ||
void * | rowObj, | ||
GSBool * | exists | ||
) |
指定の時刻を基準として、関係する1つのロウを取得します。
- Attention
- 指定のGSTimeSeriesにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSTimeSeriesと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] timeSeries 処理対象のGSTimeSeries [in] base 基準となる時刻 [in] timeOp 取得方法 [out] rowObj 取得対象のロウの内容を格納するためのロウオブジェクト。取得対象のロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [out] exists 条件に一致するロウが存在したかどうかを格納するためのブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値が基準時刻として指定された場合
exists
以外のポインタ型引数にNULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsInterpolateTimeSeriesRow | ( | GSTimeSeries * | timeSeries, |
GSTimestamp | base, | ||
const GSChar * | column, | ||
void * | rowObj, | ||
GSBool * | exists | ||
) |
指定時刻に相当するロウオブジェクトについて、線形補間などを行い生成します。
- 一致する時系列ロウの指定のカラムの値、もしくは、前後時刻のロウの指定カラムの値を線形補間して得られた値を基にロウオブジェクトを生成します。前後時刻のロウの少なくともいずれか、もしくは、一致するロウが存在しない場合は生成されません。
- 補間対象として指定できるカラムの型は、数値型のみです。指定のカラムならびにロウキー以外のフィールドには、指定時刻と同一またはより前の時刻のロウのうち、最も新しい時刻を持つロウのフィールドの値が設定されます。
- Attention
- 指定のGSTimeSeriesにバインドされたロウオブジェクトの型と指定のロウオブジェクトの型とが一致しない場合、この処理の動作は未定義です。アクセス違反により実行プロセスが異常終了する可能性があります。
- 文字列や配列などの可変長のデータを格納するために、指定のGSTimeSeriesと対応するGSGridStoreインスタンス上で管理される、一時的なメモリ領域を使用します。この領域は、対応するGSGridStoreもしくはその関連リソースに対し、この関数もしくは同様に一時的なメモリ領域を使用する関数が再び実行されるまで有効です。無効になった領域にアクセスしようとした場合の動作は未定義です。
- Parameters
-
[in] timeSeries 処理対象のGSTimeSeries [in] base 基準となる時刻 [in] column 線形補間対象のカラム [out] rowObj 生成結果を格納するためのロウオブジェクト。生成のために必要とするロウが存在しない場合、ロウオブジェクトの内容は何も変更されません。実行結果としてGS_RESULT_OK以外が返される場合、ロウオブジェクトのフィールドのうち一部またはすべてが変更されることがあります。 [out] exists 生成のために必要とするロウが存在したかどうかを格納するための、ブール型変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、GS_FALSEが格納されます。ポインタ値が NULL
の場合、この格納処理が省略されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 対応する名前のカラムが存在しない場合。また、サポートされていない型のカラムが指定された場合
- この処理またはトランザクションのタイムアウト、指定のコンテナの削除もしくはスキーマ変更、接続障害が発生した場合
- サポート範囲外の値が基準時刻として指定された場合
exists
以外のポインタ型引数にNULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByTimeSeriesOrderedRange | ( | GSTimeSeries * | timeSeries, |
const GSTimestamp * | start, | ||
const GSTimestamp * | end, | ||
GSQueryOrder | order, | ||
GSQuery ** | query | ||
) |
開始時刻・終了時刻・順序を指定して、特定範囲のロウ集合を求めるクエリを作成します。
- 取得対象には、開始・終了時刻と合致する境界上のロウも含まれます。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。
- gsFetchを通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。
- Parameters
-
[in] timeSeries 処理対象のGSTimeSeries [in] start 開始時刻または NULL
。NULL
の場合、指定の時系列上の最も古いロウの時刻が開始時刻として指定されたものとみなします。[in] end 終了時刻または NULL
。NULL
の場合、指定の時系列上の最も新しいロウの時刻が終了時刻として指定されたものとみなします。[in] order 取得するロウ集合の時刻順序。GS_ORDER_ASCENDINGの場合は古い時刻から新しい時刻の順、GS_ORDER_DESCENDINGの場合は新しい時刻から古い時刻の順となります。 [out] query GSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が設定されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のコンテナの種別が時系列ではない場合
start
、end
以外のポインタ型引数にNULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByTimeSeriesRange | ( | GSTimeSeries * | timeSeries, |
GSTimestamp | start, | ||
GSTimestamp | end, | ||
GSQuery ** | query | ||
) |
開始時刻・終了時刻を指定して、特定範囲のロウ集合を求めるクエリを作成します。
- 取得対象には、開始・終了時刻と合致する境界上のロウも含まれます。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。要求するロウ集合は昇順、すなわち古い時刻から新しい時刻の順となります。
- gsFetchを通じてロウ集合を求める際、更新用ロックのオプションを有効にすることもできます。
- Parameters
-
[in] timeSeries 処理対象のGSTimeSeries [in] start 開始時刻 [in] end 終了時刻 [out] query GSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が設定されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のコンテナの種別が時系列ではない場合
- ポインタ型引数に
NULL
が指定された場合
GS_DLL_PUBLIC GSResult GS_API_CALL gsQueryByTimeSeriesSampling | ( | GSTimeSeries * | timeSeries, |
GSTimestamp | start, | ||
GSTimestamp | end, | ||
const GSChar *const * | columnSet, | ||
size_t | columnCount, | ||
GSInterpolationMode | mode, | ||
int32_t | interval, | ||
GSTimeUnit | intervalUnit, | ||
GSQuery ** | query | ||
) |
特定範囲のロウ集合をサンプリングするクエリを作成します。
- サンプリング対象の時刻は、開始時刻に対し非負整数倍のサンプリング間隔を加えた時刻のうち、終了時刻と同じかそれ以前のもののみです。終了時刻より新しい開始時刻を指定した場合、すべてのロウが対象外となります。
- 作成したクエリを実行すると、各サンプリング位置の時刻と一致するロウが存在する場合は該当ロウの値を、存在しない場合は
columnSet
とmode
引数の指定に従い補間された値を使用しロウ集合を生成します。個別の補間方法については、GSInterpolationModeの定義を参照してください。
- 補間のために参照する必要のあるロウが存在しない場合、該当するサンプリング時刻のロウは生成されず、該当箇所の数だけ結果件数が減少します。サンプリング間隔をより短く設定すると、補間方法次第では異なるサンプリング時刻であっても同一のロウの内容が使用される可能性が高まります。
- gsFetchを通じてロウ集合を求める際、更新用ロックのオプションを有効にすることはできません。
- Parameters
-
[in] timeSeries 処理対象のGSTimeSeries [in] start 開始時刻 [in] end 終了時刻 [in] columnSet mode
に基づき特定の補間処理を適用するカラムの名前の集合。文字列ポインタの配列より構成されます。空集合の場合は、適用対象のカラムを何も指定しないことを示します。NULL
の場合は、空集合を指定した場合と同様です。[in] columnCount mode
に基づき特定の補間処理を適用するカラムの個数[in] mode 補間方法 [in] interval サンプリング間隔。 0
および負の値は指定できません[in] intervalUnit サンプリング間隔の時間単位。GS_TIME_UNIT_YEAR、GS_TIME_UNIT_MONTHは指定できません [out] query GSQueryインスタンスを格納するためのポインタ変数へのポインタ値。実行結果としてGS_RESULT_OK以外が返される場合、このポインタ値が NULL
以外の値であれば、対応するポインタ変数にNULL
が格納されます。
- Returns
- 実行結果のコード番号。次の場合、GS_RESULT_OK以外の値を返します。
- 指定のコンテナの種別が時系列ではない場合
columnSet
以外のポインタ型引数にNULL
が指定された場合
Classes | |
struct | GSTimeZoneTag |
タイムゾーン情報を表します。More... | |
Macros | |
#define | GS_TIME_ZONE_INITIALIZER { { 0 } } |
GSTimeZoneの初期化子です。More... | |
#define | GS_TIMESTAMP_DEFAULT 0 |
時刻1970-01-01T00 :00:00Zに相当するGSTimestamp値です。More... | |
#define | GS_TIME_STRING_SIZE_MAX 32 |
TIMESTAMP型値の文字列表現を格納するための文字列バッファにおける、終端文字を含むバイト単位での最大サイズです。More... | |
#define | GS_TIME_ZONE_STRING_SIZE_MAX 8 |
GSTimeZone値の文字列表現を格納するための文字列バッファにおける、終端文字を含むバイト単位での最大サイズです。More... | |
Typedefs | |
typedef int64_t | GSTimestamp |
GridDB上のTIMESTAMP型と対応する時刻型です。ミリ秒単位のUNIX時刻を保持します。 | |
typedef struct GSTimeZoneTag | GSTimeZone |
タイムゾーン情報を表します。More... | |
Functions | |
GS_DLL_PUBLIC GSTimestamp GS_API_CALL | gsCurrentTime () |
現在時刻を求めます。More... | |
GS_DLL_PUBLIC int64_t GS_API_CALL | gsGetTimeField (GSTimestamp timestamp, GSTimeUnit timeUnit) |
GSTimestampを構成するフィールド値の一つを取得します。More... | |
GS_DLL_PUBLIC int64_t GS_API_CALL | gsGetZonedTimeField (GSTimestamp timestamp, GSTimeUnit timeUnit, const GSTimeZone *zone) |
指定のタイムゾーン設定を用い、GSTimestampを構成するフィールド値の一つを取得します。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsSetTimeField (GSTimestamp *timestamp, int64_t field, GSTimeUnit timeUnit) |
GSTimestampを構成するフィールド値の一つを設定します。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsSetZonedTimeField (GSTimestamp *timestamp, int64_t field, GSTimeUnit timeUnit, const GSTimeZone *zone) |
指定のタイムゾーン設定を用い、GSTimestampを構成するフィールド値の一つを設定します。More... | |
GS_STATIC_HEADER_FUNC_SPECIFIER GSTimestamp | gsAddTime (GSTimestamp timestamp, int64_t amount, GSTimeUnit timeUnit) |
時刻に一定の値を加算します。More... | |
GS_DLL_PUBLIC GSTimestamp GS_API_CALL | gsAddZonedTime (GSTimestamp timestamp, int64_t amount, GSTimeUnit timeUnit, const GSTimeZone *zone) |
指定のタイムゾーン設定を用い、時刻に一定の値を加算します。More... | |
GS_DLL_PUBLIC int64_t GS_API_CALL | gsGetTimeDiff (GSTimestamp timestamp1, GSTimestamp timestamp2, GSTimeUnit timeUnit) |
二つの時刻間の差分値を求めます。More... | |
GS_DLL_PUBLIC int64_t GS_API_CALL | gsGetZonedTimeDiff (GSTimestamp timestamp1, GSTimestamp timestamp2, GSTimeUnit timeUnit, const GSTimeZone *zone) |
指定のタイムゾーン設定を用い、二つの時刻間の差分値を求めます。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatTime (GSTimestamp timestamp, GSChar *strBuf, size_t bufSize) |
TQLのTIMESTAMP値表記に従い、時刻の文字列表現を求めます。More... | |
GS_DLL_PUBLIC size_t GS_API_CALL | gsFormatZonedTime (GSTimestamp timestamp, GSChar *strBuf, size_t bufSize, const GSTimeZone *zone) |
指定のタイムゾーン設定を用い、TQLのTIMESTAMP値表記に従って時刻の文字列表現を求めます。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsParseTime (const GSChar *str, GSTimestamp *timestamp) |
TQLのTIMESTAMP値表記に従い、指定の文字列に対応するGSTimestamp値を求めます。More... | |
GS_DLL_PUBLIC int64_t GS_API_CALL | gsGetTimeZoneOffset (const GSTimeZone *zone, GSTimeUnit timeUnit) |
指定のタイムゾーンのオフセット値を取得します。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsSetTimeZoneOffset (GSTimeZone *zone, int64_t offset, GSTimeUnit timeUnit) |
指定のタイムゾーンのオフセット値を設定します。More... | |
GS_DLL_PUBLIC size_t | gsFormatTimeZone (const GSTimeZone *zone, GSChar *strBuf, size_t bufSize) |
TQLのTIMESTAMP値表記に従い、タイムゾーン情報の文字列表現を求めます。More... | |
GS_DLL_PUBLIC GSBool GS_API_CALL | gsParseTimeZone (const GSChar *str, GSTimeZone *zone) |
TQLのTIMESTAMP値表記に従い、指定のタイムゾーン文字列に対応するGSTimeZone値を求めます。More... | |
Detailed Description
Macro Definition Documentation
#define GS_TIME_STRING_SIZE_MAX 32 |
TIMESTAMP型値の文字列表現を格納するための文字列バッファにおける、終端文字を含むバイト単位での最大サイズです。
- See Also
- gsFormatTime
#define GS_TIME_ZONE_INITIALIZER { { 0 } } |
GSTimeZoneの初期化子です。
- Since
- 4.3
#define GS_TIME_ZONE_STRING_SIZE_MAX 8 |
#define GS_TIMESTAMP_DEFAULT 0 |
時刻1970-01-01T00
:00:00Zに相当するGSTimestamp値です。
- Since
- 4.3
Typedef Documentation
typedef struct GSTimeZoneTag GSTimeZone |
タイムゾーン情報を表します。
- Since
- 4.3
Function Documentation
GS_STATIC_HEADER_FUNC_SPECIFIER GSTimestamp gsAddTime | ( | GSTimestamp | timestamp, |
int64_t | amount, | ||
GSTimeUnit | timeUnit | ||
) |
時刻に一定の値を加算します。
amount
に負の値を指定することで、指定の時刻より前の時刻を求めることができます。
- 現バージョンでは、算出の際に使用されるタイムゾーンはUTCです。
- Parameters
-
[in] timestamp 対象とする時刻 [in] amount 加算する値 [in] timeUnit 加算する値の単位
- Returns
- 加算後のGSTimestamp。次の場合は
-1
- サポート範囲外の時刻や単位が指定された場合
- 加算結果がサポート範囲外の時刻となりうる場合
- See Also
- gsAddZonedTime
GS_DLL_PUBLIC GSTimestamp GS_API_CALL gsAddZonedTime | ( | GSTimestamp | timestamp, |
int64_t | amount, | ||
GSTimeUnit | timeUnit, | ||
const GSTimeZone * | zone | ||
) |
指定のタイムゾーン設定を用い、時刻に一定の値を加算します。
amount
に負の値を指定することで、指定の時刻より前の時刻を求めることができます。
- 演算に用いる時間の単位によっては、タイムゾーン設定の影響を受けない場合があります。
- Parameters
-
[in] timestamp 対象とする時刻 [in] amount 加算する値 [in] timeUnit 加算する値の単位 [in] zone タイムゾーン設定情報へのポインタ値。 NULL
の場合はgsAddTimeと同様に振る舞います。
- Returns
- 加算後のGSTimestamp。次の場合は
-1
- サポート範囲外の時刻や単位が指定された場合
- 加算結果がサポート範囲外の時刻となりうる場合
- 初期化誤りなど正しくないタイムゾーン情報が指定されたことを検知した場合
- See Also
- gsAddZonedTime
- Since
- 4.3
GS_DLL_PUBLIC GSTimestamp GS_API_CALL gsCurrentTime | ( | ) |
現在時刻を求めます。
- Returns
- 現在時刻に相当するGSTimestamp。内部のシステムコールに失敗した場合、
-1
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatTime | ( | GSTimestamp | timestamp, |
GSChar * | strBuf, | ||
size_t | bufSize | ||
) |
TQLのTIMESTAMP値表記に従い、時刻の文字列表現を求めます。
- 現バージョンでは、変換の際に使用されるタイムゾーンはUTCです。
- Parameters
-
[in] timestamp 対象とする時刻 [out] strBuf 出力先の文字列バッファ。 bufSize
を超えない範囲で終端文字を含む文字列を出力します。bufSize
が1
以上であり、出力に必要とするサイズに満たない場合、終端文字をバッファ範囲内の最終位置に設定し、残りの領域に可能な限り文字列を出力します。strBuf
がNULL
またはbufSize
が0
の場合、文字列は出力されません。[in] bufSize 出力先の文字列バッファについての、終端文字を含んだバイト単位のサイズ
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。ただし次の場合は、空文字列のサイズに相当する
1
。- サポート範囲外の時刻が指定された場合
GS_DLL_PUBLIC size_t gsFormatTimeZone | ( | const GSTimeZone * | zone, |
GSChar * | strBuf, | ||
size_t | bufSize | ||
) |
TQLのTIMESTAMP値表記に従い、タイムゾーン情報の文字列表現を求めます。
- Parameters
-
[out] zone 対象とするタイムゾーン情報 [out] strBuf 出力先の文字列バッファ。 bufSize
を超えない範囲で終端文字を含む文字列を出力します。bufSize
が1
以上であり、出力に必要とするサイズに満たない場合、終端文字をバッファ範囲内の最終位置に設定し、残りの領域に可能な限り文字列を出力します。strBuf
がNULL
またはbufSize
が0
の場合、文字列は出力されません。[in] bufSize 出力先の文字列バッファについての、終端文字を含んだバイト単位のサイズ
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。ただし次の場合は、空文字列のサイズに相当する
1
。- 初期化誤りなど正しくないタイムゾーン情報が指定されたことを検知した場合
- See Also
- GS_TIME_ZONE_STRING_SIZE_MAX
- Since
- 4.3
GS_DLL_PUBLIC size_t GS_API_CALL gsFormatZonedTime | ( | GSTimestamp | timestamp, |
GSChar * | strBuf, | ||
size_t | bufSize, | ||
const GSTimeZone * | zone | ||
) |
指定のタイムゾーン設定を用い、TQLのTIMESTAMP値表記に従って時刻の文字列表現を求めます。
- Parameters
-
[in] timestamp 対象とする時刻 [out] strBuf 出力先の文字列バッファ。 bufSize
を超えない範囲で終端文字を含む文字列を出力します。bufSize
が1
以上であり、出力に必要とするサイズに満たない場合、終端文字をバッファ範囲内の最終位置に設定し、残りの領域に可能な限り文字列を出力します。strBuf
がNULL
またはbufSize
が0
の場合、文字列は出力されません。[in] bufSize 出力先の文字列バッファについての、終端文字を含んだバイト単位のサイズ [in] zone タイムゾーン設定情報へのポインタ値。 NULL
の場合はgsFormatTimeと同様に振る舞います。
- Returns
- 終端文字を含んだ、出力に必要とする文字列バッファのバイト単位の最低サイズ。ただし次の場合は、空文字列のサイズに相当する
1
。- サポート範囲外の時刻が指定された場合
- 初期化誤りなど正しくないタイムゾーン情報が指定されたことを検知した場合
- See Also
- GS_TIME_STRING_SIZE_MAX
- Since
- 4.3
GS_DLL_PUBLIC int64_t GS_API_CALL gsGetTimeDiff | ( | GSTimestamp | timestamp1, |
GSTimestamp | timestamp2, | ||
GSTimeUnit | timeUnit | ||
) |
二つの時刻間の差分値を求めます。
timestamp1
に対して、timestamp2
で減じた値を求めます。
- 現バージョンでは、算出の際に使用されるタイムゾーンはUTCです。
- Parameters
-
[in] timestamp1 対象とする一つ目の時刻 [in] timestamp2 対象とする二つ目の時刻 [in] timeUnit 求める差分値の単位
- Returns
- 差分値。次の場合は
int64_t
型の値として取りうる範囲の最小値- サポート範囲外の時刻や単位が指定された場合
- See Also
- gsGetZonedTimeDiff
- Since
- 4.3
GS_DLL_PUBLIC int64_t GS_API_CALL gsGetTimeField | ( | GSTimestamp | timestamp, |
GSTimeUnit | timeUnit | ||
) |
GSTimestampを構成するフィールド値の一つを取得します。
- 現バージョンでは、取得の際に使用されるタイムゾーンはUTCです。
- Parameters
-
[in] timestamp 対象とする時刻 [in] timeUnit 取得するフィールド値の単位
- Returns
- 指定の条件に合致するフィールド値。次の場合は
-1
- サポート範囲外の時刻や単位が指定された場合
- See Also
- gsGetZonedTimeField
- Since
- 4.3
GS_DLL_PUBLIC int64_t GS_API_CALL gsGetTimeZoneOffset | ( | const GSTimeZone * | zone, |
GSTimeUnit | timeUnit | ||
) |
指定のタイムゾーンのオフセット値を取得します。
- Parameters
-
[in] zone 対象とするタイムゾーン情報 [in] timeUnit 求めるオフセット値の単位
- Returns
- 差分値。次の場合は
int64_t
型の値として取りうる範囲の最小値- サポート外の単位が指定された場合
- 初期化誤りなど正しくないタイムゾーン情報が指定されたことを検知した場合
- Since
- 4.3
GS_DLL_PUBLIC int64_t GS_API_CALL gsGetZonedTimeDiff | ( | GSTimestamp | timestamp1, |
GSTimestamp | timestamp2, | ||
GSTimeUnit | timeUnit, | ||
const GSTimeZone * | zone | ||
) |
指定のタイムゾーン設定を用い、二つの時刻間の差分値を求めます。
timestamp1
に対して、timestamp2
で減じた値を求めます。
- 演算に用いる時間の単位によっては、タイムゾーン設定の影響を受けない場合があります。
- Parameters
-
[in] timestamp1 対象とする一つ目の時刻 [in] timestamp2 対象とする二つ目の時刻 [in] timeUnit 求める差分値の単位 [in] zone タイムゾーン設定情報へのポインタ値。 NULL
の場合はgsGetTimeDiffと同様に振る舞います。
- Returns
- 差分値。次の場合は
int64_t
型の値として取りうる範囲の最小値- サポート範囲外の時刻や単位が指定された場合
- 初期化誤りなど正しくないタイムゾーン情報が指定されたことを検知した場合
- Since
- 4.3
GS_DLL_PUBLIC int64_t GS_API_CALL gsGetZonedTimeField | ( | GSTimestamp | timestamp, |
GSTimeUnit | timeUnit, | ||
const GSTimeZone * | zone | ||
) |
指定のタイムゾーン設定を用い、GSTimestampを構成するフィールド値の一つを取得します。
- 演算に用いる時間の単位によっては、タイムゾーン設定の影響を受けない場合があります。
- Parameters
-
[in] timestamp 対象とする時刻 [in] timeUnit 取得するフィールド値の単位 [in] zone タイムゾーン設定情報へのポインタ値。 NULL
の場合はgsGetTimeFieldと同様に振る舞います。
- Returns
- 指定の条件に合致するフィールド値。次の場合は
-1
- サポート範囲外の時刻や単位が指定された場合
- 初期化誤りなど正しくないタイムゾーン情報が指定されたことを検知した場合
- Since
- 4.3
GS_DLL_PUBLIC GSBool GS_API_CALL gsParseTime | ( | const GSChar * | str, |
GSTimestamp * | timestamp | ||
) |
TQLのTIMESTAMP値表記に従い、指定の文字列に対応するGSTimestamp値を求めます。
- TIMESTAMP値表記に含まれるタイムゾーン設定を使用します。
- Parameters
-
[in] str 対象とする時刻を表す文字列 [out] timestamp 格納先のGSTimestamp変数へのポインタ値。戻り値がGS_FALSEとなる場合、このポインタ値が NULL
ではない限り-1
が格納されます。
- Returns
- GSTimestamp値への変換に成功し結果を格納できたかどうか。次の場合、GS_FALSEを返します。
- 時刻の文字列表記と一致しない文字列が指定された場合
- サポート範囲外の時刻が指定された場合
- 引数に
NULL
が指定された場合
GS_DLL_PUBLIC GSBool GS_API_CALL gsParseTimeZone | ( | const GSChar * | str, |
GSTimeZone * | zone | ||
) |
TQLのTIMESTAMP値表記に従い、指定のタイムゾーン文字列に対応するGSTimeZone値を求めます。
- Parameters
-
[in] str 対象とするタイムゾーン文字列 [out] zone 格納先のGSTimeZone変数へのポインタ値。戻り値がGS_FALSEとなる場合、このポインタ値が NULL
ではない限りGS_TIME_ZONE_INITIALIZERと同一の内容の初期値が格納されます。
- Returns
- GSTimestamp値への変換に成功し結果を格納できたかどうか。次の場合、GS_FALSEを返します。
- タイムゾーン情報のの文字列表記と一致しない文字列が指定された場合
- サポート範囲外のタイムゾーンが指定された場合
- 引数に
NULL
が指定された場合
- Since
- 4.3
GS_DLL_PUBLIC GSBool GS_API_CALL gsSetTimeField | ( | GSTimestamp * | timestamp, |
int64_t | field, | ||
GSTimeUnit | timeUnit | ||
) |
GSTimestampを構成するフィールド値の一つを設定します。
- 現バージョンでは、設定の際に使用されるタイムゾーンはUTCです。
- Parameters
-
[in,out] timestamp 対象とする時刻 [in] field 設定するフィールド値 [in] timeUnit 設定するフィールド値の単位
- Returns
- フィールド値を設定できたかどうか。次の場合はGS_FALSE
timestamp
引数にNULL
が指定された場合- サポート範囲外の時刻や単位、フィールド値が指定された場合
- See Also
- gsGetZonedTimeField
- Since
- 4.3
GS_DLL_PUBLIC GSBool GS_API_CALL gsSetTimeZoneOffset | ( | GSTimeZone * | zone, |
int64_t | offset, | ||
GSTimeUnit | timeUnit | ||
) |
指定のタイムゾーンのオフセット値を設定します。
- Parameters
-
[out] zone 対象とするタイムゾーン情報 [in] offset オフセット値 [in] timeUnit オフセット値の単位
- Returns
- オフセット値を設定できたかどうか。次の場合はGS_FALSE
zone
引数にNULL
が指定された場合- サポート範囲外のオフセット値や単位が指定された場合
- Since
- 4.3
GS_DLL_PUBLIC GSBool GS_API_CALL gsSetZonedTimeField | ( | GSTimestamp * | timestamp, |
int64_t | field, | ||
GSTimeUnit | timeUnit, | ||
const GSTimeZone * | zone | ||
) |
指定のタイムゾーン設定を用い、GSTimestampを構成するフィールド値の一つを設定します。
- 演算に用いる時間の単位によっては、タイムゾーン設定の影響を受けない場合があります。
- Parameters
-
[in,out] timestamp 対象とする時刻 [in] field 設定するフィールド値 [in] timeUnit 設定するフィールド値の単位 [in] zone タイムゾーン設定情報へのポインタ値。 NULL
の場合はgsSetTimeFieldと同様に振る舞います。
- Returns
- フィールド値を設定できたかどうか。次の場合はGS_FALSE
timestamp
引数にNULL
が指定された場合- サポート範囲外の時刻や単位、フィールド値が指定された場合
- 初期化誤りなど正しくないタイムゾーン情報が指定されたことを検知した場合
- Since
- 4.3
ロウオブジェクトとロウデータとの対応関係を表すバインディング情報です。 More...
#include <gridstore.h>
Detailed Description
ロウオブジェクトとロウデータとの対応関係を表すバインディング情報です。
ロウオブジェクトにおけるBLOB構造を表します。 More...
#include <gridstore.h>
Public Attributes | |
size_t | size |
BLOBデータのサイズです。 | |
const void * | data |
BLOBデータの格納先ポインタです。 | |
Detailed Description
ロウオブジェクトにおけるBLOB構造を表します。
コレクションの構成オプションを表します。 More...
#include <gridstore.h>
Detailed Description
コレクションの構成オプションを表します。
- Note
- 現バージョンでは使用されておりません。
特定のカラムの圧縮設定を表します。 More...
#include <gridstore.h>
Public Attributes | |
const GSChar * | columnName |
設定対象のカラムの名前です。More... | |
GSBool | relative |
間引き圧縮における判定基準値として、相対誤差を適用するかどうかを示します。More... | |
double | rate |
相対誤差あり間引き圧縮における、値がとりうる範囲を基準とした誤差境界値の比率です。More... | |
double | span |
相対誤差あり間引き圧縮における、値がとりうる範囲の最大値と最小値の差です。More... | |
double | width |
絶対誤差あり間引き圧縮における、誤差境界の幅です。More... | |
Detailed Description
特定のカラムの圧縮設定を表します。
- 時系列を対象とした誤差あり間引き圧縮のカラム別設定に使用します。
Member Data Documentation
const GSChar* GSColumnCompressionTag::columnName |
設定対象のカラムの名前です。
- 間引き圧縮方式(GS_COMPRESSION_HI)を選択し、次の型のカラムに対して指定した場合のみ、カラム別の圧縮設定として使用できます。
double GSColumnCompressionTag::rate |
相対誤差あり間引き圧縮における、値がとりうる範囲を基準とした誤差境界値の比率です。
- 値がとりうる範囲は、
span
メンバと対応します。また、比率は0
以上1
以下でなければ、時系列を作成することができません。
- 誤差あり間引き圧縮方式(GS_COMPRESSION_HI)において、判定基準値として相対誤差を選択(GSColumnCompressionTag::relativeにGS_TRUEを指定)した場合のみ有効です。
GSBool GSColumnCompressionTag::relative |
間引き圧縮における判定基準値として、相対誤差を適用するかどうかを示します。
- 間引き圧縮方式(GS_COMPRESSION_HI)以外を選択した場合は無視されます。
double GSColumnCompressionTag::span |
相対誤差あり間引き圧縮における、値がとりうる範囲の最大値と最小値の差です。
- 誤差あり間引き圧縮方式(GS_COMPRESSION_HI)において、判定基準値として相対誤差を選択(GSColumnCompressionTag::relativeにGS_TRUEを指定)した場合のみ有効です。
double GSColumnCompressionTag::width |
絶対誤差あり間引き圧縮における、誤差境界の幅です。
- 誤差あり間引き圧縮方式(GS_COMPRESSION_HI)において、判定基準値として相対誤差を選択(GSColumnCompressionTag::relativeにGS_TRUEを指定)した場合のみ有効です。
カラムのスキーマに関する情報を表します。 More...
#include <gridstore.h>
Public Attributes | |
const GSChar * | name |
カラム名です。 | |
GSType | type |
カラムの型、すなわち、カラムに対応する各フィールド値の型です。 | |
GSIndexTypeFlags | indexTypeFlags |
索引種別を示すフラグ値のビット和です。More... | |
GSTypeOption | options |
カラムに関するオプション設定を示すフラグ値のビット和です。More... | |
Detailed Description
カラムのスキーマに関する情報を表します。
Member Data Documentation
GSIndexTypeFlags GSColumnInfoTag::indexTypeFlags |
GSTypeOption GSColumnInfoTag::options |
カラムに関するオプション設定を示すフラグ値のビット和です。
- 現バージョンでは、NOT NULL制約または初期値に関連する、以下のフラグ値のみを含めることができます。
- Since
- 3.5
特定のコンテナに関する情報を表します。 More...
#include <gridstore.h>
Public Attributes | |
const GSChar * | name |
コンテナ名です。 | |
GSContainerType | type |
コンテナの種別です。 | |
size_t | columnCount |
カラム数です。 | |
const GSColumnInfo * | columnInfoList |
カラム情報のリストです。More... | |
GSBool | rowKeyAssigned |
ロウキーに対応するカラムが設定されているかどうかを示す真偽値です。More... | |
GSBool | columnOrderIgnorable |
カラム順序が無視できるかどうかを示す真偽値です。More... | |
const GSTimeSeriesProperties * | timeSeriesProperties |
時系列構成オプションです。More... | |
size_t | triggerInfoCount |
トリガ情報のエントリ数です。More... | |
const GSTriggerInfo * | triggerInfoList |
トリガ情報の一覧です。More... | |
const GSChar * | dataAffinity |
データ配置最適化のために用いられる、コンテナ間の類似性(データアフィニティ)を示す文字列です。More... | |
size_t | indexInfoCount |
索引情報のエントリ数です。More... | |
const GSIndexInfo * | indexInfoList |
索引情報の一覧です。More... | |
size_t | rowKeyColumnCount |
ロウキーを構成するカラム列についての、カラム数です。More... | |
const int32_t * | rowKeyColumnList |
ロウキーを構成するカラム列についての、0 から始まるカラム番号一覧です。More... | |
Detailed Description
特定のコンテナに関する情報を表します。
Member Data Documentation
const GSColumnInfo* GSContainerInfoTag::columnInfoList |
カラム情報のリストです。
- カラム数と同一の長さのGSColumnInfoの配列です。各要素はカラムの定義順と対応します。
GSBool GSContainerInfoTag::columnOrderIgnorable |
const GSChar* GSContainerInfoTag::dataAffinity |
データ配置最適化のために用いられる、コンテナ間の類似性(データアフィニティ)を示す文字列です。
- 同一クラスタノード上の同一管理領域内に格納されるコンテナについて、配置先を最適化するために使用されます。
- データアフィニティが同一のコンテナの内容は、近接する配置先に格納される可能性が高くなります。また、解放期限が設定され、近接する配置先に格納された時系列について、登録頻度などの変更パターンが類似している場合、解放期限に到達したロウの解放処理が効率的に行われる可能性が高くなります。
- コンテナの定義において使用できるデータアフィニティ文字列の文字種や長さには制限があります。具体的には、GridDBテクニカルリファレンスを参照してください。ただし、文字列を設定した時点で必ずしもすべての制限を検査するとは限りません。特に記載のない限り、データアフィニティ文字列が使用される操作では、ASCIIの大文字・小文字表記の違いが区別されます。
- 値が
NULL
の場合、標準設定を優先することを示します。
- Since
- 2.1
size_t GSContainerInfoTag::indexInfoCount |
索引情報のエントリ数です。
- Since
- 3.5
const GSIndexInfo* GSContainerInfoTag::indexInfoList |
索引情報の一覧です。
- Since
- 3.5
GSBool GSContainerInfoTag::rowKeyAssigned |
ロウキーに対応するカラムが設定されているかどうかを示す真偽値です。
- 現バージョンでは、コンテナが単一カラムからなるロウキーを持つ場合、対応するカラム番号は
0
となります。
- 任意のロウキー構成を扱うには、GSContainerInfo::rowKeyColumnListを使用します。
size_t GSContainerInfoTag::rowKeyColumnCount |
ロウキーを構成するカラム列についての、カラム数です。
- Since
- 4.3
const int32_t* GSContainerInfoTag::rowKeyColumnList |
ロウキーを構成するカラム列についての、0
から始まるカラム番号一覧です。
- Since
- 4.3
const GSTimeSeriesProperties* GSContainerInfoTag::timeSeriesProperties |
時系列構成オプションです。
- Since
- 1.5
size_t GSContainerInfoTag::triggerInfoCount |
トリガ情報のエントリ数です。
- Since
- 1.5
const GSTriggerInfo* GSContainerInfoTag::triggerInfoList |
トリガ情報の一覧です。
- Since
- 1.5
複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。 More...
#include <gridstore.h>
Public Attributes | |
const GSChar * | containerName |
コンテナ名です。 | |
void *const * | rowList |
ロウオブジェクトへのアドレスのリストです。More... | |
size_t | rowCount |
ロウオブジェクトの個数です。 | |
Detailed Description
複数のコンテナの複数のロウを一括して操作する場合に用いる、コンテナ別のロウ内容エントリです。
- Since
- 1.5
Member Data Documentation
void* const* GSContainerRowEntryTag::rowList |
ロウオブジェクトへのアドレスのリストです。
- 現バージョンでは、GSRowのアドレスのみを要素として含めることができます。
索引の設定内容を表します。 More...
#include <gridstore.h>
Public Attributes | |
const GSChar * | name |
索引名です。More... | |
GSIndexTypeFlags | type |
索引種別を示すフラグ値です。More... | |
int32_t | column |
索引に対応するカラムのカラム番号です。More... | |
const GSChar * | columnName |
索引に対応するカラムのカラム名です。More... | |
size_t | columnCount |
索引に対応する任意個数のカラムのカラム番号の列のカラム数です。More... | |
const int32_t * | columnList |
索引に対応する任意個数のカラムのカラム番号の列です。More... | |
size_t | columnNameCount |
索引に対応する任意個数のカラムのカラム名の列のカラム数です。More... | |
const GSChar *const * | columnNameList |
索引に対応する任意個数のカラムのカラム名の列です。More... | |
Detailed Description
索引の設定内容を表します。
- Since
- 3.5
Member Data Documentation
int32_t GSIndexInfoTag::column |
索引に対応するカラムのカラム番号です。
- 単一のカラムからなるカラム番号の列が設定された場合と同等であるとみなされます。
- Since
- 3.5
size_t GSIndexInfoTag::columnCount |
索引に対応する任意個数のカラムのカラム番号の列のカラム数です。
- Since
- 4.3
const int32_t* GSIndexInfoTag::columnList |
索引に対応する任意個数のカラムのカラム番号の列です。
- Since
- 4.3
const GSChar* GSIndexInfoTag::columnName |
索引に対応するカラムのカラム名です。
- 単一のカラムからなるカラム名の列が設定された場合と同等であるとみなされます。
- Since
- 3.5
size_t GSIndexInfoTag::columnNameCount |
索引に対応する任意個数のカラムのカラム名の列のカラム数です。
- Since
- 4.3
const GSChar* const* GSIndexInfoTag::columnNameList |
索引に対応する任意個数のカラムのカラム名の列です。
- Since
- 4.3
const GSChar* GSIndexInfoTag::name |
索引名です。
- Since
- 3.5
GSIndexTypeFlags GSIndexInfoTag::type |
索引種別を示すフラグ値です。
- デフォルトまたは任意個数の索引種別を含めることができます。複数個の索引種別を含める場合は、各種別のフラグ値のビット和により表現します。コンテナ情報の一部として得られた索引情報では、デフォルトを除くいずれか一つの索引種別のみが設定されます。
- Since
- 3.5
プロパティの構成エントリです。 More...
#include <gridstore.h>
Public Attributes | |
const GSChar * | name |
プロパティエントリの名前です。 | |
const GSChar * | value |
プロパティエントリの値です。 | |
Detailed Description
プロパティの構成エントリです。
クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。 More...
#include <gridstore.h>
Public Attributes | |
int32_t | id |
一連のエントリ列における、このエントリの位置を示すIDです。More... | |
int32_t | depth |
他のエントリとの関係を表すための、深さです。More... | |
const GSChar * | type |
このエントリが示す情報の種別です。More... | |
const GSChar * | valueType |
このエントリが示す情報に対応付けられた値の型名です。More... | |
const GSChar * | value |
このエントリが示す情報に対応付けられた値の文字列表現です。 | |
const GSChar * | statement |
このエントリが示す情報に対応するTQL文の一部です。 | |
Detailed Description
クエリプランならびにクエリ処理解析結果を構成する一連の情報の一つを示します。
- TQLのEXPLAIN文ならびEXPLAIN ANALYZE文の実行結果を保持するために使用します。1つの実行結果は、このエントリの列により表現されます。
Member Data Documentation
int32_t GSQueryAnalysisEntryTag::depth |
他のエントリとの関係を表すための、深さです。
- このエントリより小さな値のIDを順にたどり、このエントリの深さより1だけ浅いエントリが存在した場合、このエントリは、該当するエントリの内容をより詳しく説明するためのものであることを意味します。
int32_t GSQueryAnalysisEntryTag::id |
一連のエントリ列における、このエントリの位置を示すIDです。
- TQLを実行した結果を受け取る場合、IDは1から順に割り当てられます。
const GSChar* GSQueryAnalysisEntryTag::type |
このエントリが示す情報の種別です。
- 実行時間といった解析結果の種別、クエリプランの構成要素の種別などを表します。
const GSChar* GSQueryAnalysisEntryTag::valueType |
このエントリが示す情報に対応付けられた値の型名です。
- 実行時間といった解析結果などに対応する値の型名です。型の名称は、TQLで定義された基本型のうち次のものです。
- STRING
- BOOL
- BYTE
- SHORT
- INTEGER
- LONG
- FLOAT
- DOUBLE
複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。 More...
#include <gridstore.h>
Public Attributes | |
const GSChar * | containerName |
コンテナ名です。 | |
GSRowKeyPredicate * | predicate |
コンテナのロウキーについての合致条件です。 | |
Detailed Description
複数のコンテナに対する取得条件を表すための、コンテナ別の合致条件エントリです。
- Since
- 1.5
時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。 More...
#include <gridstore.h>
Public Attributes | |
int32_t | rowExpirationTime |
ロウの有効期限の基準となる経過期間です。More... | |
GSTimeUnit | rowExpirationTimeUnit |
ロウの有効期限の基準とする経過時間の単位です。More... | |
int32_t | compressionWindowSize |
間引き圧縮において連続して間引きされるロウの最大期間です。More... | |
GSTimeUnit | compressionWindowSizeUnit |
間引き圧縮において連続して間引きされるロウの最大期間の単位です。More... | |
GSCompressionMethod | compressionMethod |
時系列圧縮方式の種別です。 | |
size_t | compressionListSize |
カラム別圧縮設定(compressionList )のエントリ数です。More... | |
GSColumnCompression * | compressionList |
カラム別の圧縮設定です。More... | |
int32_t | expirationDivisionCount |
期限に到達したロウデータの解放単位と対応する、有効期間に対しての分割数です。More... | |
Detailed Description
時系列を新規作成または変更する際に使用される、オプションの構成情報を表します。
- カラム名の表記、もしくは、個別に圧縮設定できるカラム数の上限などの内容の妥当性について、必ずしも検査するとは限りません。
Member Data Documentation
GSColumnCompression* GSTimeSeriesPropertiesTag::compressionList |
カラム別の圧縮設定です。
- エントリ数が
0
の場合、時系列を新規作成または更新する際に無視されます。
size_t GSTimeSeriesPropertiesTag::compressionListSize |
カラム別圧縮設定(compressionList
)のエントリ数です。
- 1つの時系列に対してパラメータ設定できるカラムの上限数については、GridDBテクニカルリファレンスを参照してください。上限を超えたオプションを指定して時系列を作成することはできません。
int32_t GSTimeSeriesPropertiesTag::compressionWindowSize |
間引き圧縮において連続して間引きされるロウの最大期間です。
- この期間が設定された時系列のロウについて、前方のロウと指定の期間以上時刻が離れていた場合、間引き圧縮として間引き可能な条件を満たしていたとしても、間引かれなくなります。
- 時系列圧縮方式としてGS_COMPRESSION_NOが設定されていた場合、この期間の設定は無視されます。
- 時系列圧縮方式としてGS_COMPRESSION_HIまたはGS_COMPRESSION_SSが設定されており、この期間として
0
以下の値が設定された場合、TIMESTAMP型の取りうる値の範囲全体が期間として設定されたとみなされます。
- 前方のロウと指定の期間以上時刻が離れておらず、かつ、間引き圧縮として間引き可能な条件を満たしていたとしても、格納先の内部の配置などによっては間引かれない場合があります。
GSTimeUnit GSTimeSeriesPropertiesTag::compressionWindowSizeUnit |
間引き圧縮において連続して間引きされるロウの最大期間の単位です。
- 最大期間の値が明示的に設定されていた場合、GS_TIME_UNIT_YEARまたはGS_TIME_UNIT_MONTHが設定されたオプションを指定して、時系列を作成することはできません。
int32_t GSTimeSeriesPropertiesTag::expirationDivisionCount |
期限に到達したロウデータの解放単位と対応する、有効期間に対しての分割数です。
- 分割数を設定すると、期限に到達したロウデータの管理領域を解放するための条件を制御できます。期限に到達したロウデータが分割数に相当する期間だけ集まった時点で解放しようとします。
- 分割数の上限については、GridDBテクニカルリファレンスを参照してください。上限を超えたオプションを指定して時系列を作成することはできません。
- 値が負の場合、分割数が設定されていないことを示します。
0
が設定されたオプションを指定して時系列を作成することはできません。
- ロウの有効期限の基準となる経過期間の設定がない場合、この分割数の設定は無視されます。一方、ロウの有効期限の基準となる経過期間の設定がある場合にこの分割数の設定を省略すると、作成される時系列にはGridDBクラスタ上のデフォルトの分割数が設定されます。
- Since
- 2.0
int32_t GSTimeSeriesPropertiesTag::rowExpirationTime |
ロウの有効期限の基準となる経過期間です。
- ロウの有効期限の時刻は、ロウキーの時刻から指定の経過期間を加算することで求まります。有効期限の時刻がGridDB上の現在時刻よりも古いロウは、有効期限の切れたロウとみなされます。期限切れのロウは、検索や更新といったロウ操作の対象から外れ、存在しないものとみなされます。対応するGridDB上の内部データは、随時削除されます。
- Attention
- 有効期限超過の判定に使用される現在時刻は、GridDBの各ノードの実行環境に依存します。したがって、ネットワークの遅延や実行環境の時刻設定のずれなどにより、このプロセスの実行環境の現在時刻より前に期限切れ前のロウにアクセスできなくなる場合や、この現在時刻より後に期限切れロウにアクセスできる場合があります。意図しないロウの喪失を避けるために、最低限必要な期間よりも大きな値を設定することを推奨します。
- 作成済みの時系列の設定を変更することはできません。
- 値が負の場合、有効期限はないものとみなされ、明示的に削除操作を行わない限りロウが削除されなくなります。
0
が設定されたオプションを指定して時系列を作成することはできません。
GSTimeUnit GSTimeSeriesPropertiesTag::rowExpirationTimeUnit |
ロウの有効期限の基準とする経過時間の単位です。
- 有効期限の期間値が設定されていた場合、GS_TIME_UNIT_YEARまたはGS_TIME_UNIT_MONTHが設定されたオプションを指定して、時系列を作成することはできません。
トリガに関する情報を表します。 More...
#include <gridstore.h>
Public Attributes | |
const GSChar * | name |
トリガ名です。 | |
GSTriggerType | type |
トリガ種別です。 | |
const GSChar * | uri |
通知先URIです。 | |
GSTriggerEventTypeFlags | eventTypeFlags |
監視対象とする更新操作種別です。 | |
const GSChar *const * | columnSet |
通知対象とするカラム名の集合です。 | |
size_t | columnCount |
通知対象とするカラム名の数です。 | |
const GSChar * | jmsDestinationType |
JMS通知で使用するJMSデスティネーション種別です。 | |
const GSChar * | jmsDestinationName |
JMS通知で使用するJMSデスティネーション名です。 | |
const GSChar * | user |
通知先サーバに接続する際のユーザ名です。 | |
const GSChar * | password |
通知先サーバに接続する際のパスワードです。 | |
Detailed Description
トリガに関する情報を表します。
- Since
- 1.5
ロウフィールドに格納できるいずれかの型の値です。 More...
#include <gridstore.h>
Public Attributes | |
const GSChar * | asString |
STRING型のロウフィールドに対応する値です。 | |
GSBool | asBool |
BOOL型のロウフィールドに対応する値です。 | |
int8_t | asByte |
BYTE型のロウフィールドに対応する値です。 | |
int16_t | asShort |
SHORT型のロウフィールドに対応する値です。 | |
int32_t | asInteger |
INTEGER型のロウフィールドに対応する値です。 | |
int64_t | asLong |
LONG型のロウフィールドに対応する値です。 | |
float | asFloat |
FLOAT型のロウフィールドに対応する値です。 | |
double | asDouble |
DOUBLE型のロウフィールドに対応する値です。 | |
GSTimestamp | asTimestamp |
TIMESTAMP型のロウフィールドに対応する値です。 | |
const GSChar * | asGeometry |
GEOMETRY型のロウフィールドに対応する値です。 | |
GSBlob | asBlob |
BLOB型のロウフィールドに対応する値です。 | |
struct { | |
size_t length | |
配列の要素数です。 | |
union { | |
const void * data | |
配列の要素列へのアドレスです。 | |
const GSChar *const * asString | |
STRING型配列の要素列へのアドレスです。 | |
const GSBool * asBool | |
BOOL型配列の要素列へのアドレスです。 | |
const int8_t * asByte | |
BYTE型配列の要素列へのアドレスです。 | |
const int16_t * asShort | |
SHORT型配列の要素列へのアドレスです。 | |
const int32_t * asInteger | |
INTEGER型配列の要素列へのアドレスです。 | |
const int64_t * asLong | |
LONG型配列の要素列へのアドレスです。 | |
const float * asFloat | |
FLOAT型配列の要素列へのアドレスです。 | |
const double * asDouble | |
DOUBLE型配列の要素列へのアドレスです。 | |
const GSTimestamp * asTimestamp | |
TIMESTAMP型配列の要素列へのアドレスです。 | |
} elements | |
配列の要素です。 | |
} | asArray |
配列型のロウフィールドに対応する値です。 | |
Detailed Description
ロウフィールドに格納できるいずれかの型の値です。
- Since
- 1.5
1.2 APIサンプル
1.2.1 基本: コレクション操作のサンプル
#include "gridstore.h" #include <stdlib.h> #include <stdio.h> typedef struct { const GSChar *name; GSBool status; uint64_t count; const int8_t *lob; size_t lobSize; } Person; GS_STRUCT_BINDING(Person, GS_STRUCT_BINDING_KEY(name, GS_TYPE_STRING) GS_STRUCT_BINDING_ELEMENT(status, GS_TYPE_BOOL) GS_STRUCT_BINDING_ELEMENT(count, GS_TYPE_LONG) GS_STRUCT_BINDING_ARRAY(lob, lobSize, GS_TYPE_BYTE)); // コレクションデータの操作 int sample1(const char *args[5]) { static const int8_t personLob[] = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 }; static const GSBool update = GS_TRUE; GSGridStore *store; GSCollection *col; GSQuery *query; GSRowSet *rs; Person person; GSResult ret; const GSPropertyEntry props[] = { { "notificationAddress", args[0] }, { "notificationPort", args[1] }, { "clusterName", args[2] }, { "user", args[3] }, { "password", args[4] } }; const size_t propCount = sizeof(props) / sizeof(*props); // GridStoreインスタンスの取得 gsGetGridStore(gsGetDefaultFactory(), props, propCount, &store); // コレクションの作成 gsPutCollection(store, "col01", GS_GET_STRUCT_BINDING(Person), NULL, GS_FALSE, &col); // カラムに索引を設定 gsCreateIndex(col, "count", GS_INDEX_FLAG_DEFAULT); // 自動コミットモードをオフ gsSetAutoCommit(col, GS_FALSE); // Rowのデータを用意 person.name = "name01"; person.status = GS_FALSE; person.count = 1; person.lob = personLob; person.lobSize = sizeof(personLob); // KV形式でRowを操作: RowKeyは"name01" gsPutRow(col, NULL, &person, NULL); // 登録 gsGetRowForUpdate(col, &person.name, &person, NULL); // 取得(更新用にロック) gsDeleteRow(col, &person.name, NULL); // 削除 // KV形式でRowを操作: RowKeyは"name02" gsPutRowByString(col, "name02", &person, NULL); // 登録(RowKeyを指定) // トランザクションの確定(ロック解除) gsCommit(col); // コレクション内のRowを検索(クエリ使用) gsQuery(col, "select * where name = 'name02'", &query); // 検索したRowの取得と更新 gsFetch(query, update, &rs); while (gsHasNextRow(rs)) { size_t i; // 検索したRowの更新 gsGetNextRow(rs, &person); person.count += 1; ret = gsUpdateCurrentRow(rs, &person); if (!GS_SUCCEEDED(ret)) break; printf("Person:"); printf(" name=%s", person.name); printf(" status=%s", person.status ? "true" : "false"); printf(" count=%d", (int) person.count); printf(" lob=["); for (i = 0; i < person.lobSize; i++) { if (i > 0) printf(", "); printf("%d", (int) person.lob[i]); } printf("]\n"); } // トランザクションの確定 ret = gsCommit(col); // リソースの解放 gsCloseGridStore(&store, GS_TRUE); return (GS_SUCCEEDED(ret) ? EXIT_SUCCESS : EXIT_FAILURE); }
1.2.2 基本: 時系列操作のサンプル ― 登録・範囲取得
#include "gridstore.h" #include <stdlib.h> #include <stdio.h> typedef struct { GSTimestamp timestamp; GSBool active; double voltage; } Point; GS_STRUCT_BINDING(Point, GS_STRUCT_BINDING_KEY(timestamp, GS_TYPE_TIMESTAMP) GS_STRUCT_BINDING_ELEMENT(active, GS_TYPE_BOOL) GS_STRUCT_BINDING_ELEMENT(voltage, GS_TYPE_DOUBLE)); // 時系列データの登録と範囲取得 int sample2(const char *args[5]) { GSGridStore *store; GSTimeSeries *ts; Point point; GSTimestamp now; GSTimestamp before; GSQuery *query; GSRowSet *rs; GSResult ret = !GS_RESULT_OK; const GSPropertyEntry props[] = { { "notificationAddress", args[0] }, { "notificationPort", args[1] }, { "clusterName", args[2] }, { "user", args[3] }, { "password", args[4] } }; const size_t propCount = sizeof(props) / sizeof(*props); // GridStoreインスタンスの取得 gsGetGridStore(gsGetDefaultFactory(), props, propCount, &store); // 時系列の作成 (既存の場合は取得のみ) gsPutTimeSeries(store, "point01", GS_GET_STRUCT_BINDING(Point), NULL, GS_FALSE, &ts); // 時系列要素のデータを用意 point.active = GS_FALSE; point.voltage = 100; // 時系列要素の登録(グリッドストア側で時刻設定) gsAppendTimeSeriesRow(ts, &point, NULL); // 指定区間の時系列の取得: 6時間前から直近まで now = gsCurrentTime(); before = gsAddTime(now, -6, GS_TIME_UNIT_HOUR); gsQueryByTimeSeriesRange(ts, before, now, &query); ret = gsFetch(query, GS_FALSE, &rs); while (gsHasNextRow(rs)) { GSChar timeStr[GS_TIME_STRING_SIZE_MAX]; ret = gsGetNextRow(rs, &point); if (!GS_SUCCEEDED(ret)) break; gsFormatTime(point.timestamp, timeStr, sizeof(timeStr)); printf("Time=%s", timeStr); printf(" Active=%s", point.active ? "true" : "false"); printf(" Voltage=%.1lf\n", point.voltage); } // リソースの解放 gsCloseGridStore(&store, GS_TRUE); return (GS_SUCCEEDED(ret) ? EXIT_SUCCESS : EXIT_FAILURE); }
1.2.3 基本: 時系列操作のサンプル ― 検索・集計
#include "gridstore.h" #include <stdlib.h> #include <stdio.h> typedef struct { GSTimestamp timestamp; GSBool active; double voltage; } Point; GS_STRUCT_BINDING(Point, GS_STRUCT_BINDING_KEY(timestamp, GS_TYPE_TIMESTAMP) GS_STRUCT_BINDING_ELEMENT(active, GS_TYPE_BOOL) GS_STRUCT_BINDING_ELEMENT(voltage, GS_TYPE_DOUBLE)); // 時系列データの検索と集計 int sample3(const char *args[5]) { GSGridStore *store; GSTimeSeries *ts; GSQuery *query; GSRowSet *rs; GSResult ret = !GS_RESULT_OK; // 読み取りのみなので、一貫性レベルを緩和(デフォルトはIMMEDIATE) const GSPropertyEntry props[] = { { "notificationAddress", args[0] }, { "notificationPort", args[1] }, { "clusterName", args[2] }, { "user", args[3] }, { "password", args[4] }, { "consistency", "EVENTUAL" } }; const size_t propCount = sizeof(props) / sizeof(*props); // GridStoreインスタンスの取得 gsGetGridStore(gsGetDefaultFactory(), props, propCount, &store); // 時系列の取得(既存の場合は取得のみ) // ※sample2と同じPoint構造体を使用 gsGetTimeSeries(store, "point01", GS_GET_STRUCT_BINDING(Point), &ts); // 停止中にもかかわらず電圧が基準値以上の箇所を検索 gsQuery(ts, "select * from point01" " where not active and voltage > 50", &query); gsFetch(query, GS_FALSE, &rs); while (gsHasNextRow(rs)) { // 各異常ポイントについて調査 GSTimestamp hot; Point hotPoint; GSTimestamp start; Point startPoint; GSTimestamp end; GSAggregationResult *avg; double avgValue; GSChar hotStr[GS_TIME_STRING_SIZE_MAX]; ret = gsGetNextRow(rs, &hotPoint); if (!GS_SUCCEEDED(ret)) break; hot = hotPoint.timestamp; // 10分前付近のデータを取得 start = gsAddTime(hot, -10, GS_TIME_UNIT_MINUTE); gsGetRowByBaseTime( ts, start, GS_TIME_OPERATOR_NEXT, &startPoint, NULL); // 前後10分間の平均値を計算 end = gsAddTime(hot, 10, GS_TIME_UNIT_MINUTE); gsAggregateTimeSeries( ts, start, end, "voltage", GS_AGGREGATION_AVERAGE, &avg); ret = gsGetAggregationValueAsDouble(avg, &avgValue, NULL); if (!GS_SUCCEEDED(ret)) break; gsFormatTime(hot, hotStr, sizeof(hotStr)); printf("[Alert] %s", hotStr); printf(" start=%.1lf", startPoint.voltage); printf(" hot=%.1lf", hotPoint.voltage); printf(" avg=%.1lf\n", avgValue); } // リソースの解放 gsCloseGridStore(&store, GS_TRUE); return (GS_SUCCEEDED(ret) ? EXIT_SUCCESS : EXIT_FAILURE); }
1.2.4 応用: コレクション操作のサンプル ― コンテナ情報を用いてスキーマ定義
#include "gridstore.h" #include <stdlib.h> #include <stdio.h> // コンテナ情報を用いてスキーマ定義 int sample4(const char *args[5]) { static const int8_t personLob[] = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 }; static const GSBool update = GS_TRUE; GSGridStore *store; GSContainer *container; GSContainerInfo info = GS_CONTAINER_INFO_INITIALIZER; GSColumnInfo columnInfo = GS_COLUMN_INFO_INITIALIZER; GSColumnInfo columnInfoList[4]; GSRow *row; GSQuery *query; GSRowSet *rs; GSResult ret; const GSPropertyEntry props[] = { { "notificationAddress", args[0] }, { "notificationPort", args[1] }, { "clusterName", args[2] }, { "user", args[3] }, { "password", args[4] } }; const size_t propCount = sizeof(props) / sizeof(*props); // GridStoreインスタンスの取得 gsGetGridStore(gsGetDefaultFactory(), props, propCount, &store); // コンテナ情報を作成 columnInfo.name = "name"; columnInfo.type = GS_TYPE_STRING; columnInfoList[0] = columnInfo; columnInfo.name = "status"; columnInfo.type = GS_TYPE_BOOL; columnInfoList[1] = columnInfo; columnInfo.name = "count"; columnInfo.type = GS_TYPE_LONG; columnInfoList[2] = columnInfo; columnInfo.name = "lob"; columnInfo.type = GS_TYPE_BYTE_ARRAY; columnInfoList[3] = columnInfo; info.type = GS_CONTAINER_COLLECTION; info.name = "col01"; info.columnCount = sizeof(columnInfoList) / sizeof(*columnInfoList); info.columnInfoList = columnInfoList; info.rowKeyAssigned = GS_TRUE; // コレクションの作成 gsPutContainerGeneral(store, NULL, &info, GS_FALSE, &container); // カラムに索引を設定 gsCreateIndex(container, "count", GS_INDEX_FLAG_DEFAULT); // 自動コミットモードをオフ gsSetAutoCommit(container, GS_FALSE); // Rowのデータを用意 { const GSChar *name = "name01"; GSBool status = GS_FALSE; int64_t count = 1; const int8_t *lobData = personLob; size_t lobSize = sizeof(personLob); gsCreateRowByStore(store, &info, &row); gsSetRowFieldByString(row, 0, name); gsSetRowFieldByBool(row, 1, status); gsSetRowFieldByLong(row, 2, count); gsSetRowFieldByByteArray(row, 3, lobData, lobSize); } // KV形式でRowを操作: RowKeyは"name01" gsPutRow(container, NULL, row, NULL); // 登録 gsGetRowByString(container, "name01", row, update, NULL); // 取得(更新用にロック) gsDeleteRowByString(container, "name01", NULL); // 削除 // KV形式でRowを操作: RowKeyは"name02" gsPutRowByString(container, "name02", row, NULL); // 登録(RowKeyを指定) // 不要ロウオブジェクトの解放 gsCloseRow(&row); // トランザクションの確定(ロック解除) gsCommit(container); // コレクション内のRowを検索(クエリ使用) gsQuery(container, "select * where name = 'name02'", &query); // 検索したRowの取得と更新 gsFetch(query, update, &rs); while (gsHasNextRow(rs)) { const GSChar *name; GSBool status; int64_t count; const int8_t *lobData; size_t lobSize; size_t i; gsCreateRowByContainer(container, &row); // 検索したRowの更新 gsGetNextRow(rs, row); gsGetRowFieldAsString(row, 0, &name); gsGetRowFieldAsBool(row, 1, &status); gsGetRowFieldAsLong(row, 2, &count); gsGetRowFieldAsByteArray(row, 3, &lobData, &lobSize); count += 1; ret = gsUpdateCurrentRow(rs, row); if (!GS_SUCCEEDED(ret) || name == NULL) break; printf("Person:"); printf(" name=%s", name); printf(" status=%s", status ? "true" : "false"); printf(" count=%d", (int) count); printf(" lob=["); for (i = 0; i < lobSize; i++) { if (i > 0) { printf(", "); } printf("%d", (int) lobData[i]); } printf("]\n"); } // トランザクションの確定 ret = gsCommit(container); // コレクションの削除 gsDropContainer(store, info.name); // リソースの解放 gsCloseGridStore(&store, GS_TRUE); return (GS_SUCCEEDED(ret) ? EXIT_SUCCESS : EXIT_FAILURE); }
1.2.5 応用: コレクション操作のサンプル ― 複数コンテナ一括操作
#include "gridstore.h" #include <stdlib.h> #include <stdio.h> #define SAMPLE5_CONTAINER_COUNT 5 #define SAMPLE5_ROW_COUNT 2 // 複数コンテナ一括操作 int sample5(const char *args[5]) { static const int8_t personLob[] = { 65, 66, 67, 68, 69, 70, 71, 72, 73, 74 }; static const GSChar *const containerNameList[SAMPLE5_CONTAINER_COUNT] = { "col01", "col02", "col03", "col04", "col05" }; static const GSChar *const keyList[SAMPLE5_ROW_COUNT] = { "name01", "name02" }; static const size_t containerCount = SAMPLE5_CONTAINER_COUNT; static const size_t rowCount = SAMPLE5_ROW_COUNT; GSGridStore *store; GSContainer *containerList[SAMPLE5_CONTAINER_COUNT]; GSContainerInfo info = GS_CONTAINER_INFO_INITIALIZER; GSColumnInfo columnInfo = GS_COLUMN_INFO_INITIALIZER; GSColumnInfo columnInfoList[4]; GSResult ret; int failed = 0; size_t i, j; const GSPropertyEntry props[] = { { "notificationAddress", args[0] }, { "notificationPort", args[1] }, { "clusterName", args[2] }, { "user", args[3] }, { "password", args[4] } }; const size_t propCount = sizeof(props) / sizeof(*props); // GridStoreインスタンスの取得 gsGetGridStore(gsGetDefaultFactory(), props, propCount, &store); //コンテナ定義情報を作成 columnInfo.name = "name"; columnInfo.type = GS_TYPE_STRING; columnInfoList[0] = columnInfo; columnInfo.name = "status"; columnInfo.type = GS_TYPE_BOOL; columnInfoList[1] = columnInfo; columnInfo.name = "count"; columnInfo.type = GS_TYPE_LONG; columnInfoList[2] = columnInfo; columnInfo.name = "lob"; columnInfo.type = GS_TYPE_BYTE_ARRAY; columnInfoList[3] = columnInfo; info.type = GS_CONTAINER_COLLECTION; info.columnCount = sizeof(columnInfoList) / sizeof(*columnInfoList); info.columnInfoList = columnInfoList; info.rowKeyAssigned = GS_TRUE; // コレクションの作成 for (i = 0; i < containerCount; i++) { const GSChar *name = containerNameList[i]; gsPutContainerGeneral(store, name, &info, GS_FALSE, &containerList[i]); } // 複数コレクションのRowを一括登録 { void *allRowList[SAMPLE5_CONTAINER_COUNT][SAMPLE5_ROW_COUNT]; GSContainerRowEntry inEntry = GS_CONTAINER_ROW_ENTRY_INITIALIZER; GSContainerRowEntry inEntryList[SAMPLE5_CONTAINER_COUNT]; GSBool status = GS_FALSE; int64_t count = 1; const int8_t *lobData = personLob; size_t lobSize = sizeof(personLob); for (i = 0; i < containerCount; i++) { for (j = 0; j < rowCount; j++) { GSRow *row; const GSChar *name = keyList[j]; gsCreateRowByStore(store, &info, &row); gsSetRowFieldByString(row, 0, name); gsSetRowFieldByBool(row, 1, status); gsSetRowFieldByLong(row, 2, count); gsSetRowFieldByByteArray(row, 3, lobData, lobSize); count++; allRowList[i][j] = row; } inEntry.containerName = containerNameList[i]; inEntry.rowList = allRowList[i]; inEntry.rowCount = rowCount; inEntryList[i] = inEntry; } ret = gsPutMultipleContainerRows(store, inEntryList, containerCount); failed |= !GS_SUCCEEDED(ret); for (i = 0; i < containerCount; i++) { for (j = 0; j < rowCount; j++) { GSRow *row = allRowList[i][j]; gsCloseRow(&row); } } } // 複数コレクションのRowを一括取得 { GSRowKeyPredicateEntry predEntry = GS_ROW_KEY_PREDICATE_ENTRY_INITIALIZER; GSRowKeyPredicateEntry predEntryValueList[SAMPLE5_CONTAINER_COUNT]; const GSRowKeyPredicateEntry *predEntryList[SAMPLE5_CONTAINER_COUNT]; const GSContainerRowEntry *outEntryList; size_t outEntryCount; GSRow *allRowList[SAMPLE5_CONTAINER_COUNT][SAMPLE5_ROW_COUNT]; // 取得条件を構築 for (i = 0; i < containerCount; i++) { GSRowKeyPredicate *predicate; gsCreateRowKeyPredicate(store, GS_TYPE_STRING, &predicate); for (j = 0; j < rowCount; j++) { gsAddPredicateKeyByString(predicate, keyList[j]); } predEntry.containerName = containerNameList[i]; predEntry.predicate = predicate; predEntryValueList[i] = predEntry; predEntryList[i] = &predEntryValueList[i]; } ret = gsGetMultipleContainerRows( store, predEntryList, containerCount, &outEntryList, &outEntryCount); failed |= !GS_SUCCEEDED(ret); // 取得結果ロウ列をコピー for (i = 0; i < containerCount || i < outEntryCount; i++) { GSContainerRowEntry outEntry = GS_CONTAINER_ROW_ENTRY_INITIALIZER; if (i < outEntryCount) { outEntry = outEntryList[i]; } for (j = 0; j < rowCount || j < outEntry.rowCount; j++) { GSRow *row = NULL; if (j < outEntry.rowCount) { row = (GSRow*) outEntry.rowList[j]; } if (i < containerCount && j < rowCount) { allRowList[i][j] = row; } else { gsCloseRow(&row); } } } // 取得結果を出力 for (i = 0; i < containerCount; i++) { for (j = 0; j < rowCount; j++) { GSRow *row = allRowList[i][j]; const GSChar *name; int64_t count; gsGetRowFieldAsString(row, 0, &name); gsGetRowFieldAsLong(row, 2, &count); failed |= (name == NULL); if (failed) break; printf("Person[%d]:", (int) i); printf(" name=%s", name); printf(" count=%d\n", (int) count); gsCloseRow(&row); } gsCloseRowKeyPredicate(&predEntryValueList[i].predicate); } } // 複数コレクションのRowを一括検索(クエリ使用) { GSQuery *queryList[SAMPLE5_CONTAINER_COUNT]; for (i = 0; i < containerCount; i++) { const GSChar *tql = "select * where count >= 0"; gsQuery(containerList[i], tql, &queryList[i]); } ret = gsFetchAll(store, queryList, containerCount); failed |= !GS_SUCCEEDED(ret); for (i = 0; i < containerCount; i++) { GSRowSet *rs; GSRow *row; gsCreateRowByContainer(containerList[i], &row); gsGetRowSet(queryList[i], &rs); while (gsHasNextRow(rs)) { const GSChar *name; GSBool status; int64_t count; const int8_t *lobData; size_t lobSize; ret = gsGetNextRow(rs, row); failed |= !GS_SUCCEEDED(ret); if (failed) break; gsGetRowFieldAsString(row, 0, &name); gsGetRowFieldAsBool(row, 1, &status); gsGetRowFieldAsLong(row, 2, &count); gsGetRowFieldAsByteArray(row, 3, &lobData, &lobSize); count += 1; failed |= (name == NULL); if (failed) break; printf("Person[%d]:", (int) i); printf(" name=%s", name); printf(" status=%s", status ? "true" : "false"); printf(" count=%d", (int) count); printf(" lob=["); for (j = 0; j < lobSize; j++) { if (j > 0) { printf(", "); } printf("%d", (int) lobData[j]); } printf("]\n"); } gsCloseRow(&row); gsCloseRowSet(&rs); gsCloseQuery(&queryList[i]); } } // コレクションの削除 for (i = 0; i < containerCount; i++) { const GSChar *name = containerNameList[i]; gsDropContainer(store, name); } // リソースの解放 gsCloseGridStore(&store, GS_TRUE); return (failed ? EXIT_FAILURE : EXIT_SUCCESS); }
2 付録
2.1 値の範囲
値の上限などの値の範囲を説明します。 システムの制限値については、GridDBテクニカルリファレンスを参照してください。
2.1.1 基本型の取りうる値
以下の基本型の取りうる値は、次の通りです。
型 | 取りうる値 |
---|---|
ブール(BOOL)型 | 真または偽 |
BYTE型 | -27から27-1 |
SHORT型 | -215から215-1 |
INTEGER型 | -231から231-1 |
LONG型 | -263から263-1 |
FLOAT型 | IEEE754準拠 |
DOUBLE型 | IEEE754準拠 |
時刻(TIMESTAMP)型 | 西暦1970年1月1日のはじめから西暦9999年12月31日の終わりまで(UTC相当)。精度はミリ秒。うるう秒は扱わない |
空間(GEOMETRY)型でTQL演算に使用できる値はST_GeomFromText関数が返す任意の値です。このうちコンテナに格納できる値はQUADRATICSURFACE構造を除いたものです。
APIを通じて基本型とマッピングされるオブジェクトの表現範囲は、上記の範囲と異なる場合があります。上記の範囲を超えた値を持つオブジェクトの内容をコンテナに格納することはできませんが、検索条件の構築など、その他操作の可否を規定するものではありません。たとえば、Java APIにて時刻型にマッピングされるjava.util.Dateオブジェクトでは、コンテナに格納できない西暦1970年より前の年の時刻も表現でき、その値をロウキーの条件としてRowKeyPredicateオブジェクトや時系列のサンプリングクエリに含めることができます。しかし、その条件でロウを取得しようとした時点でエラーが検出される可能性があります。マッピングされるオブジェクトの具体的な表現範囲は、個々のオブジェクトの型の定義を参照してください。
3 商標
- GridDBは日本国内における東芝デジタルソリューションズ株式会社の登録商標です。
- OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
-
その他製品名は、それぞれの所有者の商標または登録商標です。
Copyright (c) 2013-2019 Toshiba Digital Solutions Corporation